• 締切済み

javaのswingについて

テキストを使用するにあったって、ユーザーに知らせるコンポーネントを作りたいです。 で、調べてみた結果、下のようになりました。 JTextPane : 中央揃え不可  折り返し可 テキスト選択可 JTextArea : 中央揃え不可  折り返し可 テキスト選択可 JTextField : 折り返し不可  中央揃え可 テキスト選択可 JLabel   : テキスト選択不可  折り返し可 中央揃え可 中央揃え、折り返し、テキスト選択すべてできるようにするにはどのようにすればいいでしょうか?

noname#180010
noname#180010
  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

noname#147388
noname#147388
回答No.1

JEditorPane とかは?

関連するQ&A

  • java swing での質問です。

    javaのプログラミングをeclipseでしているのですが swingで行き詰ってしまいました。 タブペインを使いタブパネルを作り、その中にボタンを配置したのですが、 ボタンの位置をsetBoundsで動かすことができませんでした。 他の命令を使わなければならないのでしょうか? プログラミング自体が初心者のため、説明に不備があると思いますが 助けていただけると幸いです。 ひどいプログラミングかと思いますが張らせていただきました package gui; import java.awt.*; import javax.swing.*; public class ReisyokuMenu extends JFrame{ /*serialVersionUID*/ private static final long serialVersionUID=1L; /*コンポーネント作成*/ JButton syokuzaiBtn = new JButton("食材一覧"); JButton syoumiBtn = new JButton("賞味期限順"); JButton bunruiBtn = new JButton("分類"); JButton returnBtn=new JButton("Topへ"); JPanel tabPanel1 = new JPanel(); JPanel tabPanel2 = new JPanel(); JTabbedPane tabbedpane = new JTabbedPane(); public ReisyokuMenu(){ /*Closeボタンでアプリケーションが終了しないように設定*/ setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); /*フレームサイズを変更できないように設定*/ setResizable(false); /*フレームコンテナのインスタンスを生成*/ Container cPane = getContentPane(); /*レイアウトマネジャを利用しない(座標を指定する)*/ cPane.setLayout(null); setLocationRelativeTo(null); setSize(400, 380);//setBoundsはy、x、幅、高さを指定するのでsetLocationRelativeToで位置指定をする為に使用。 setTitle("一人暮らし支援ツール");//アプリケーションタイトルを入れる tabbedpane.addTab("食材を見る", tabPanel1); tabbedpane.addTab("食材を探す", tabPanel2); tabPanel1.add(syokuzaiBtn); tabPanel1.add(syoumiBtn); tabPanel1.add(bunruiBtn); syokuzaiBtn.setLocation(50, 80);//「選択」ボタン syoumiBtn.setBounds(10,10,325,120); bunruiBtn.setBounds(10,270,90,40); tabPanel2.add(new JLabel("食材名:")); tabPanel2.add(new JTextField("", 10)); setContentPane(tabbedpane); } public void setVisible(boolean isVisible){ if(isVisible){ /*フレームの表示位置を指定(x,y)*/ setLocation(200,200); } /*フレームを表示*/ super.setVisible(isVisible); } }

  • javaプログラムのファイル書き出しについて

    以前はファイルに書き出すためのパスが違っており、書き出せずにいるところをアドバイスいただきありがとうございます。 プロフィールを書くプログラムを組んでいます。 打ち込んだプロフィールを画面に表示すると同時に、ファイルにも結果を書き出したいのですが、書き出せれる内容が、打ち込んだ内容ではなく、 プルグラムの書き込み欄に例として表示される用に書いている、 下の内容が書き出されてしまいます。 「name = new JTextField("名前", 20); birth = new JTextField("生年月日", 20); address = new JTextField("住所", 40); mail = new JTextField("mail", 40); number= new JTextField("電話番号", 30);」 テキストファイルに書き出される内容です。 「名前:名前 生年月日:生年月日 住所:住所 mail:mail 電話:電話番号」 打ち込んだ内容がテキストファイルに書き出すにはどうすればいいでしょうか? 下がソースコードです。 よろしくお願いします。 import java.io.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; class Sample extends JFrame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L; static JTextField name; static JTextField birth; static JTextField address; static JTextField mail; static JTextField number; JLabel label; public static void main(String args[]){ Sample frame = new Sample("profile"); frame.setVisible(true); } Sample(String title){ setTitle(title); setBounds(100, 100, 500, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); name = new JTextField("名前", 20); birth = new JTextField("生年月日", 20); address = new JTextField("住所", 40); mail = new JTextField("mail", 40); number= new JTextField("電話番号", 30); JButton button = new JButton("取得"); button.addActionListener(this); label = new JLabel(); p.add(name); p.add(birth); p.add(address); p.add(mail); p.add(number); p.add(button); Container contentPane = getContentPane(); contentPane.add(p, BorderLayout.CENTER); contentPane.add(label, BorderLayout.SOUTH); try{ File file = new File("C:\\Users\\mattun\\Documents\\sample.txt"); if (checkBeforeWritefile(file)){ PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); //ファイルに書き込む内容 pw.println("名前:"+name.getText()); pw.println("生年月日:"+birth.getText()); pw.println("住所:"+address.getText()); pw.println("mail:"+mail.getText()); pw.println("電話:"+number.getText()); pw.close();//ファイルを閉じる }else{ System.out.println("ファイルに書き込めません");//書き込み出来ない場合 } }catch(IOException e){ System.out.println(e); } } public void actionPerformed(ActionEvent e){ label.setText("<html>"+"名前:"+name.getText()+"<br>"+"生年月日:"+birth.getText()+"<br>"+"住所:"+address.getText()+ "<br>"+"mail:"+mail.getText()+"<br>"+"電話:"+number.getText()+"</html>"); } private static boolean checkBeforeWritefile(File file){ if (file.exists()){ if (file.isFile() && file.canWrite()){ return true; } } return false; } }

    • ベストアンサー
    • Java
  • Javaのプログラミングで困っています。

    プロフィールを打ち込んで表示するプログラムを書いていました。 プロフィールの打ち込み後に画面に表示するのと同時にテキストファイルに書き出したいと思ったため、書いてみましたが、ファイルに書き込めず知識不足で困っています。 是非教えていただきたく書き込みをさせていただきました。 自分で書いたコードは書きになります。 import java.io.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; class Sample extends JFrame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L; static JTextField name; static JTextField birth; static JTextField address; static JTextField mail; static JTextField number; JLabel label; public static void main(String args[]){ Sample frame = new Sample("profile"); frame.setVisible(true); } Sample(String title){ setTitle(title); setBounds(100, 100, 500, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); name = new JTextField("名前", 20); birth = new JTextField("生年月日", 20); address = new JTextField("住所", 40); mail = new JTextField("mail", 40); number= new JTextField("電話番号", 30); JButton button = new JButton("取得"); button.addActionListener(this); label = new JLabel(); p.add(name); p.add(birth); p.add(address); p.add(mail); p.add(number); p.add(button); Container contentPane = getContentPane(); contentPane.add(p, BorderLayout.CENTER); contentPane.add(label, BorderLayout.SOUTH); try{ File file = new File("C:Users\\mattun\\Documents\\sample.txt"); if (checkBeforeWritefile(file)){ PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); //ファイルに書き込む内容 pw.println("名前:"+name.getText()); pw.println("生年月日:"+birth.getText()); pw.println("住所:"+address.getText()); pw.println("mail:"+mail.getText()); pw.println("電話:"+number.getText()); pw.close();//ファイルを閉じる }else{ System.out.println("ファイルに書き込めません");//書き込み出来ない場合 } }catch(IOException e){ System.out.println(e); } } public void actionPerformed(ActionEvent e){ label.setText("<html>"+"名前:"+name.getText()+"<br>"+"生年月日:"+birth.getText()+"<br>"+"住所:"+address.getText()+ "<br>"+"mail:"+mail.getText()+"<br>"+"電話:"+number.getText()+"</html>"); } private static boolean checkBeforeWritefile(File file){ if (file.exists()){ if (file.isFile() && file.canWrite()){ return true; } } return false; } }

    • ベストアンサー
    • Java
  • テキストフィールドの文字をテキストエリアに表示する

    エラーも例外もないです。 但し今回の内容の"テキストフィールドに打ち込みエンターキーを文字をテキストフィールドに表示" が満たしてないですとりあえずソース乗せます mport java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class MyMemo { public static void main(String[] args) { JFrame Frame = new JFrame("課題"); Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Frame.setSize(500, 500); Frame.setLocationRelativeTo(null); Container contentPane = Frame.getContentPane(); // テキストフィールドのインスタンスを生成 final JTextField text = new JTextField();// テキストエリアのインスタンスを生成 text.addActionListener(new MyActionListener()); Frame.setVisible(true); final JTextArea Area = new JTextArea(5,0); // スクロールペインにテキストエリアを追加 JScrollPane scrollPane = new JScrollPane(Area); // パネルをコンポーネントに配置 contentPane.add(text, BorderLayout.NORTH); contentPane.add(scrollPane, BorderLayout.CENTER); Frame.setVisible(true); } static class MyActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { } } } どう文字をテキストエリアに表示したらいいのかわからなくて質問させていただきました。 よろしくお願いします。

    • ベストアンサー
    • Java
  • フレーム内のラベルやテキストフィールドなどを真っ直ぐ揃えたいのですが

    つい最近JAVAのSWINGクラスとよばれるGUIプログラムを勉強したばかりの人です。 現在ラベル3つとテキストフィールド3つを交互に並び、 フレームの中の下段に中央にボタンが2つあるようなフレームを作成したいです。そして、ボタンを押したらラベル4が表示されるようにするのが目標です。 ↓こんな感じです。 ----------------------------------- ラベル1   テキストフィールド1 ラベル2   テキストフィールド2 ラベル3   テキストフィールド3      (ラベル4(ボタン押したら表示)) ボタン1  ボタン2 ------------------------------------- 単純にJLabelとJTextFieldを交互にソースに書いて getContentPane().add(p, BorderLayout.CENTER);と中央揃えに設定しても、ずれてしまいます。その上、仮にラベル1とラベル2の行の位置が上の場合でも、ラベル1または2の文字数でずれ込みます。 分からないことだらけですが、上のようにまっすぐ揃う方法をお教え下さい。

    • ベストアンサー
    • Java
  • Wordの「図の書式設定」について

    Win XP Office 2003です、宜しくお願いします。 Wordの「図の書式設定」について質問します。 ○Word文書に図を挿入してその配置を設定する場合には、 「図の書式設定>レイアウト>折り返しの種類と配置>行内、を選択するとその下の「水平方向の配置」がグレーになって、選択出来なくなります。 「行内」を選択して文書を見ると、図は一番左に配置されていて、文書内の右とか、中央とかに移動させようとしても動きません。 これは「行内」を選択した場合には、デフォルトで左にしか設定出来ないということでしょうか。 ○また、「行内」以外を選択した場合には、「左揃え、中央揃え、右揃え、その他」は選択出来ますが、 「左揃え、中央揃え、右揃え」を設定すると、Word文書の中で図がそれぞれ、「左揃え、中央揃え、右揃え」となります。 しかし、一番右にある「その他」ではどのような設定になるのでしょうか。 「左揃え、中央揃え、右揃え」以外に、自由に任意の場所に設定出来るということでしょうか。 ○その下には更に「詳細設定」ボタンがあり、文字列の折り返し>左右の折り返し>両側、左側、右側、広い側、が選択出来るようになっています。 これも「折り返しの種類と配置」で「行内」を選択すると「左右の折り返し」は、グレーで選択できなくなります。 これも、先ほどの「レイアウト」タブの設定とは関係があるのでしょうか。 ○詳細設定>文字列の折り返し>左右の折り返し、からは、実際の文字列の配置を図のどちらにするかを設定するチェックボタンだと思うのですが、図をレイアウトを左側に設定して、「詳細設定」から文字の設定の「左右の折り返し」を「両側」、「左側」を選択しても意味がないと思うのですが。 またこのときに「広い側」を設定すると一体どうなるのでしょう。 以上長々と書きましたが、「その他」、「広い側」はどのような場合に設定するのでしょうか。

  • ワードでの画像の移動

    ワードで写真を付けた文章にしようと思って作業していたのですが、画像を思ったところに移動できず、いつも左に寄ってしまって困っています。 テキストに画像を選択して、「テキストの折り返し」→「前面」をクリックしたら、解決できるとあり、試したのですが、そもそも「テキストの折り返し」に進んでも「前面」を含む全ての部分が灰色で薄くなっていてクリックできない状態になっています。 どうしたら解決できるのでしょうか?? お知恵を拝借したいので、どうぞ御教示ください。

  • JAVA swingについて

    JAVA swingとAWTのみを使って画面を作成してるのですがうまくエラー<作りたい仕様> ・ポップアップウィンドウの大きさを決めることができる ・自由にボタンを設定できる(大きさ・場所など) ・設定したボタンにアクション設定できる(戻り値もOK) また、今あるフレームの上にパネルをはり、パネルの上にコンポーネントを追加して、エラー発生画面を作る方法でもいいです。 どちらかいい方法やクラスなどを知っていましたらぜひ教えて下さい。

    • ベストアンサー
    • Java
  • HTMLのフォームがうまく作れません

    はじめまして。HTMLを始めたばっかりの初心者です。 作成したいフォームは、 プルダウンリストとテキストエリアのもので、 プルダウンリストでは「編集可」「編集不可」の二つが選択できます。 「編集可」を選択するとテストエリアが編集可能になり、 「編集不可」を選択するとテストエリアが編集不可能(READONLY)になるといった感じです。 いろいろ調べてはみましたが、サンプルのようなものは見つけられなく、何となくわかったのは、onchange属性 を使用するということぐらいです。 (ただしJAVASCRIPTは全然わからないので、お手上げです。) 申し訳ありませんが、どなたかご教授願います。

    • ベストアンサー
    • HTML
  • Jlabel?の上に2つ画像を載せクリックを識別

    JLabelを使えばいいのかよくわからないのですが掲示した 画面のように背景色に薄い赤を指定して2つの矢印画像を 表示します。その矢印の中央に年月を表示したいと思っています。 また、右の矢印をクリックしたら翌月の年月が表示され 左の矢印をクリックしたら前月の年月が表示したいです。 これをswingで完成したいと思っています。 また各コンポーネントは setBounds(int x,int y,int width,int height)で出来ると助かります。 ImageIcon leftIcon = new ImageIcon("./img/left.gif"); ImageIcon rightIcon = new ImageIcon("./img/right.gif"); JLabel label = new JLabel(); label.setText("2010年10月"); label.setIcon(leftIcon); label.setLocation(20,0); label.setSize(170, 20); label.setBackground(Color.white); label.setOpaque(true); ここから先がわかりません どうしても1つの画像と1つのテキストしか表示できません。

    • ベストアンサー
    • Java

専門家に質問してみよう