javaのenumの使用方法について

このQ&Aのポイント
  • javaのenumの使用方法についてお教えください。
  • 『Test_Draw.java』ファイルで、msrを設定しています。そして、『ShapeTest1.java』ファイルのほうで、switch(msr)を行なっていますが、msrに所定の値が設定されていないようです。この件に関しまして、コメント頂けますと大変有難いです。
  • 『Test_Draw.java』ファイルと『ShapeTest1.java』ファイルに関する詳細は以下の通りです。
回答を見る
  • ベストアンサー

javaのenumの使用方法について

毎度、お世話になります。 javaのenumの使用方法についてお教えください。 『Test_Draw.java』ファイルで、下記の如く、msrを設定しています。 modeMSR msr=modeMSR.FRQ; そして、この設定に基づきまして、『ShapeTest1.java』ファイルのほうで、下記の如く switch(msr)を行なっていますが、msrに所定の値が設定されていないようです。 Q1)この件に関しまして、コメント頂けますと大変有難いです。 上記のそれぞれのファイルに関しましては、下記をご覧ください。 //『Test_Draw.java』====================== import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; import java.awt.geom.Line2D; enum modeMSR {IDL,FRQ,PLR,BUZ} enum modeDRAW {ZAHYO, CURVE} public class Test_Draw { modeMSR msr=modeMSR.FRQ; Test_Draw(){ // msr=modeMSR.FRQ; } static void subDrawA(Graphics2D g2){ // g2.draw(new Line2D.Double(30.0d, 50.0d, 180.0d, 140.0d)); //============================================== g2.setPaint(Color.PINK); BasicStroke wideStroke = new BasicStroke(4.0f); g2.setStroke(wideStroke); g2.draw(new Line2D.Double(30.0d, 120.0d, 250.0d, 70.0d)); System.out.println("subDrawA"); } static void subDrawB(Graphics2D g2){ //swX=0; g2.setPaint(Color.RED); BasicStroke wideStroke = new BasicStroke(4.0f); g2.setStroke(wideStroke); g2.draw(new Line2D.Double(30.0d, 120.0d, 250.0d, 140.0d)); System.out.println("subDrawB"); } } //『ShapeTest1.java』====================== import java.awt.BorderLayout; import java.awt.Canvas; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class ShapeTest1{ myCanvasPanel myCanvas; myCtlPanel myCtl; Test_Draw myDraw; int sw_sup=1; public static void main(String[] args){ ShapeTest1 frame=new ShapeTest1(); } ShapeTest1(){ JFrame frame=new JFrame(); frame.setTitle("タイトル"); frame.setBounds(10, 10, 300,220); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //North================================SOUTHにmyCtlPanelを配置 JPanel p1=new JPanel(); myCtlPanel myCtl=new myCtlPanel(p1, 300, 50) ; frame.getContentPane().add(p1,BorderLayout.SOUTH); //=====================================CENTERにmyCanvasPanelを配置 JPanel p2=new JPanel(); myCanvas=new myCanvasPanel(p2,300,150); frame.getContentPane().add(p2,BorderLayout.CENTER); frame.setVisible(true); } //=========================== public class myCtlPanel extends JFrame{ myCtlPanel(JPanel p, int width, int height){ //領域のサイズ設定 setSize(width,height); //領域のサイズ取得 Dimension dimension = getSize(); JButton button1=new JButton("button1"); button1.addActionListener(new TimButton1()); p.add(button1); } } public class TimButton1 implements ActionListener{ @Override public void actionPerformed(ActionEvent ae){ sw_sup=1; myCanvas.repaint(); //ng System.out.println("actionPerformed"); } } class myCanvasPanel extends Canvas{ myCanvasPanel(JPanel p, int width, int height){ //領域のサイズ設定 setSize(width,height); //領域のサイズ取得 Dimension dimension = getSize(); //p2.add(myCanvas);の代わり、--->p.add(this) //つまり、thisはyCanvas(myCanvasPanel()のリターン)の代わりとなる。 p.add(this); } /* //======================================= public void update(Graphics g){ paint(g); } */ public void paint(Graphics g){ //repaint()では、起動 Graphics2D g2 = (Graphics2D)g; // if(sw_sup==1) return; modeMSR msr=myDraw.msr; switch(msr){ //Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException // modeMSR msr=modeMSR.IDL; // switch(msr){ case IDL: //==================================================== g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); //==================================================== myDraw.subDrawA(g2); break; case FRQ: myDraw.subDrawB(g2); break; default: break; } } } //class myCanvasPanel extends Canvas{ }

  • Java
  • 回答数1
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

> msrに所定の値が設定されていないようです とはどういうことですか? どうしてそう思ったのですか? 具体的に説明してください。 少なくとも、このプログラムでは modeMSR msr=myDraw.msr; で java.lang.NullPointerException 例外が発生してまともに動作していません。 (次の行にコメントが付いていますが、その前の行で発生しています) もし「msrに所定の値が設定されていない」というのが、この例外のことでしたら、問題は 「変数msrに所定の値が設定されていない」ことではありません。 「modeMSR msr=myDraw.msr; でnullを参照している」ことが問題です。 そう考えれば、上記のどこにnullになっていると予測できるか、その予測が正しいか、正しいならどう直せばいいのか、わかるのではないでしょうか。

関連するQ&A

  • javaのCanvasを使用する描画

    今日は! repaintからCanvasの中のpaintルーチンを起動して描画を行なっています。 (下記のプログラム参照) ボタンを押すごとに、キャンバスに違った内容の書込みを行ないます。 painルーチンが起動する度に、既に書込んだキャンバスの内容がクリヤーされて 新規にキャンバスに書込みが行われて居ると思います。 Q1)キャンバスの内容をクリヤーすることなく、既に書込んだキャンバスの内容を 残して、その上に書込む方法はありませんか? (クリヤーのための指令は、出していないと思っています) ご教授の程、宜しくお願いします。 //================================ import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.Line2D; import javax.swing.JFrame; import javax.swing.JPanel; public class ShapeTest1 extends JFrame{ int sw=0; myCanvasPanel myCanvas; public static void main(String[] args){ // JFrame frame = new JFrame(); ShapeTest1 frame=new ShapeTest1(); } ShapeTest1(){ JFrame frame=new JFrame(); // ShapeTest1 app = new ShapeTest1(); // frame.getContentPane().add(app); frame.setTitle("タイトル"); frame.setBounds(10, 10, 300,220); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // frame.setVisible(true); //North========================= JPanel p1=new JPanel(); myCtlPanel myCtl=new myCtlPanel(p1) ; // frame.getContentPane().add(p1,BorderLayout.SOUTH); frame.getContentPane().add(p1,BorderLayout.NORTH); //===================================== JPanel p2=new JPanel(); myCanvas=new myCanvasPanel(p2); p2.add(myCanvas); frame.getContentPane().add(p2,BorderLayout.CENTER); frame.setVisible(true); } //=========================== class myCtlPanel extends JFrame{ myCtlPanel(JPanel p){ /* //領域のサイズ設定 setSize(300,50); //領域のサイズ取得 Dimension dimension = getSize(); */ Button button1=new Button("button1"); button1.addActionListener(new TimButton1()); p.add(button1); } } class TimButton1 implements ActionListener{ @Override public void actionPerformed(ActionEvent ae){ if(sw==0){ sw=1; } else{ sw=0; } myCanvas.repaint(); //ng System.out.println("TimButton1 sw="+sw); } } class myCanvasPanel extends Canvas{ myCanvasPanel(JPanel p){ //領域のサイズ設定 setSize(300,150); //領域のサイズ取得 Dimension dimension = getSize(); // p.add(this); } // public void paintComponent(Graphics g){ //repaint()では、起動されない public void paint(Graphics g){ //repaint()では、起動 Graphics2D g2 = (Graphics2D)g; System.out.println("Paint sw="+sw); if(sw==0){ //================================================ g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.draw(new Line2D.Double(30.0d, 50.0d, 180.0d, 140.0d)); //============================================== g2.setPaint(Color.PINK); BasicStroke wideStroke = new BasicStroke(4.0f); g2.setStroke(wideStroke); g2.draw(new Line2D.Double(30.0d, 120.0d, 250.0d, 70.0d)); } else{ g2.setPaint(Color.RED); BasicStroke wideStroke = new BasicStroke(4.0f); g2.setStroke(wideStroke); g2.draw(new Line2D.Double(30.0d, 120.0d, 250.0d, 140.0d)); } } } }

    • ベストアンサー
    • Java
  • javaでgraphicsの描画の件

    今日は javaでgraphicsの描画を行っていますが、CENTERのペインには、描画できますが、 それ以外のペイン(NORTH,WEST、EAST,、SOUTH)には、描画できないように思います。 Q1)この件について、コメント頂けますと大変助かります。 下記に、ソースコードを添付いたします。 =================== package pkg; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.Line2D; import javax.swing.JFrame; import javax.swing.JPanel; public class SampleApp extends JFrame { public SampleApp(){ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(600, 300); this.add(new GPanel(), BorderLayout.WEST); this.add(new GPanel(), BorderLayout.CENTER); } public static void main(String[] args) { new SampleApp().setVisible(true); } } class GPanel extends JPanel { @Override public void paintComponent(Graphics g) { super.paintComponent(g); // int w = this.getWidth(); // int h = this.getHeight(); int w=200; int h=200; g.setColor(Color.RED); g.fillOval(0, 0, w/2, h/2); Graphics2D g2 = (Graphics2D)g; g2.draw(new Line2D.Double(40, 40, w,h)); g.setColor(Color.BLUE); g.setFont(new Font("Serif", Font.BOLD, 36)); g.drawString("Graphics draw!", 10, h - 50); // g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.draw(new Line2D.Double(30.0d, 50.0d, 180.0d, 140.0d)); g2.setPaint(Color.PINK); BasicStroke wideStroke = new BasicStroke(8.0f); g2.setStroke(wideStroke); g2.draw(new Line2D.Double(30.0d, 120.0d, 250.0d, 70.0d)); } }

    • ベストアンサー
    • Java
  • javaについて質問

    import javax.swing.*; import java.awt.Color; import java.awt.Graphics; import java.awt.event.*; public class tt extends JFrame { public tt(){ setTitle("hogehoge"); setBounds( 10, 10, 300, 200); JButton btn1 = new JButton("続ける"); final JPanel p = new JPanel(); p.setBackground(Color.white); btn1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event){ } } ); p.add(btn1); getContentPane().add(p); } public static void main(String[] args){ tt test = new tt(); test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); test.setVisible(true); /* 実際に表示する */ } } Graphics g; g.drawString("ほげさんじょう",130,120);を追加しても コンパイルが通りません。 どうすれば画面に文字列を表示するんですか? あとテキストフィールドを追加するさいに、座標していとかして追加できないんですか?

  • javaでスタート画面を作っていて困っています。

    現在javaでゲームのスタート画面を作っているのですが、パネルが透過されずに困っています。 プログラムソースは import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JLabel; import javax.swing.ImageIcon; import java.awt.Container; import java.awt.BorderLayout; import javax.swing.*; import java.awt.Font; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.*; import java.awt.event.*; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JLabel; import javax.swing.ImageIcon; import java.awt.Container; import java.awt.BorderLayout; import javax.swing.border.LineBorder; import javax.swing.border.EtchedBorder; import java.awt.Color; import java.awt.Container; class Start最新版 extends JFrame{ public static void main(String args[]){ Start最新版 frame = new Start最新版("タイトル"); frame.setVisible(true); } Start最新版(String title){ setTitle(title); setBounds(10, 10, 1024, 768); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); p.setOpaque( false ); ImageIcon icon1 = new ImageIcon("Start.jpg"); JLabel label1 = new JLabel(icon1); JLabel label2 = new JLabel(); p.add(label1); Container contentPane = getContentPane(); contentPane.add(p, BorderLayout.CENTER); JButton button1 = new JButton("ゲームを始める"); button1.setFont(new Font("Mairyo", Font.PLAIN, 30)); JPanel n = new JPanel(); n.setOpaque(false); n.setLayout(new BoxLayout(n, BoxLayout.Y_AXIS)); n.add(Box.createRigidArea(new Dimension(290,30))); n.add(button1); となっています。「ゲームを始める」ボタンだけを残して、周りのパネルを透過して画像を表示させたいのですが、うまくいきません!解決方法をご存知の方どうか教えていただきたいです!よろしくお願いします。

  • JAVAでの背景画像表示

    現在javaでゲームのメニュー画面を作っているのですが、ボタンを配置する所まではできたんですが、背景に画像を表示することができなくて困っています! import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JLabel; import javax.swing.ImageIcon; import java.awt.Container; import java.awt.BorderLayout; import javax.swing.border.LineBorder; import javax.swing.border.EtchedBorder; import java.awt.Color; import java.awt.Container; public class Mati extends JFrame{ public static void main(String[] args){ Mati frame = new Mati(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10,650,650); frame.setTitle("街"); frame.setVisible(true); JPanel h = new JPanel(); h.setOpaque(false); ImageIcon icon1 = new ImageIcon("Mati.jpg"); JLabel label1 = new JLabel(icon1); JLabel label2 = new JLabel(); h.add(label1); } Mati(){ JButton button1 = new JButton("宿屋"); button1.setFont(new Font("Mairyo", Font.PLAIN, 30)); JButton button2 = new JButton("道具屋"); button2.setFont(new Font("Mairyo", Font.PLAIN, 30)); JButton button3 = new JButton("武器屋"); button3.setFont(new Font("Mairyo", Font.PLAIN, 30)); JButton button4 = new JButton("街を出る"); button4.setFont(new Font("Mairyo", Font.PLAIN, 30)); JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); p.add(Box.createRigidArea(new Dimension(10,30))); p.add(button1); p.add(Box.createRigidArea(new Dimension(5,8))); p.add(button2); p.add(Box.createRigidArea(new Dimension(5,8))); p.add(button3); p.add(Box.createRigidArea(new Dimension(5,8))); p.add(button4); getContentPane().add(p, BorderLayout.CENTER); } } ソースはこのようになっています。これからどうすれば背景画像が表示されるか教えていただきたいです。 よろしくお願いします。

  • JPanelで宣言したメソッドについて

    JPanelを継承したクラスで、引数をもらってその引数を表示するメソッドを作成します。そして別のJFrameを継承したクラスの中で、さきほど作成したメソッドを利用したいのですが、どうすればできるのでしょうか?そもそもこのやり方できちんと表示されるのでしょうか? ぜひともご教授のほど宜しくお願いします。 以下はプログラムになります。 import java.awt.*; import java.awt.event.*; import javax.swing.*; class Ptest extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); g.drawString("よろしく", 50, 50); } public void draw(String s) { Graphics g = getGraphics(); g.drawString(s, 100, 100); } } class Ftest extends JFrame { JLabel jlb; public Ftest() { setSize(350, 300); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); Container c = getContentPane(); Ptest p = new Ptest(); p.draw("yoroshiku"); c.add(p); p.setLayout(null); jlb = new JLabel("frame"); p.add(jlb); jlb.setBounds(70, 70, 50, 50); } } public class Test1 { public static void main(String[] args) { JFrame w = new Ftest(); w.show(); } }

    • ベストアンサー
    • Java
  • javaのpanelが表示されません

    下記のプログラムを作ったんですが、eclipseで実行するとフレームは表示されますが、空のフレームのような状態で、panelやボタンなどは表示されません。mainとは別のクラスで作成してるからなんでしょうか?よろしくお願いします。 import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class Table0 { public static void main(String[] args) { new Frame0(); } } class Frame0{ JFrame frame; JPanel panel; JScrollPane jsp; JTable table; DefaultTableModel dtm; public Frame0(){ frame=new JFrame("table"); frame.setBounds(30, 30, 300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); table=new JTable(8,5); jsp=new JScrollPane(table); jsp.setPreferredSize(new Dimension(250, 70)); panel=new JPanel(); panel.add(jsp); Container c=frame.getContentPane(); c.add(panel,BorderLayout.CENTER); } }

    • ベストアンサー
    • Java
  • java8に移行(サポート終了に付き)

    今日は、 下記の2個のソース(MainFrame、myGraphCanvas )をjava8で実行したく考えています。 注)これらは、java8以前のもので作成しましたが、サポート期限の終了を考えて、java8に 変更したいと考えています。 Q1)java8への変更についてコメント頂けますと大変、あり難いです。 Q2)java8の参考書があれば、ご紹介ください。 以上、宜しくお願いします。 import java.awt.BorderLayout; import java.awt.Button; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPanel; public class MainFrame extends JFrame{ myGraphCanvas myCanvas; MainFrame(){ JFrame frame = new JFrame(); frame.setTitle("MainFrame"); frame.setBounds(100,100,480+200,380+100); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myCanvas= new myGraphCanvas(400,300); JPanel p = new JPanel(); p.setBounds(0,0,400,300); p.add(myCanvas); frame.getContentPane().add(p,BorderLayout.CENTER); JPanel p2 = new JPanel(); Button button1=new Button("button1"); button1.addActionListener(new TimButton1()); Button button2=new Button("button2"); button2.addActionListener(new TimButton1()); p2.add(button1); p2.add(button2); frame.getContentPane().add(p2,BorderLayout.NORTH); JPanel p3 = new JPanel(); Button button3=new Button("button3"); Button button4=new Button("button4"); p3.add(button3); p3.add(button4); frame.getContentPane().add(p3,BorderLayout.WEST); JPanel p4 = new JPanel(); Button button5=new Button("button5"); Button button6=new Button("button6"); p4.add(button5); p4.add(button6); frame.getContentPane().add(p4,BorderLayout.EAST); JPanel p5 = new JPanel(); Button button7=new Button("button7"); Button button8=new Button("button8"); p5.add(button7); p5.add(button8); frame.getContentPane().add(p5,BorderLayout.SOUTH); frame.setVisible(true); } public static void main(String[] args){ MainFrame frame=new MainFrame(); Thread th = new Thread(); th.start(); frame.setVisible(true); try { Thread.sleep(50); } catch (Exception ex) { } System.out.println("aaaa"); for(int i=0;i<frame.myCanvas.getWidth();i++){ frame.myCanvas.data[i] = 100*Math.sin((i-frame.myCanvas.getWidth()/2+1)*Math.PI/((frame.myCanvas.getWidth())/2)); try { Thread.sleep(5); } catch (Exception ex) { } } System.out.println("bbbb"); } class TimButton1 implements ActionListener{ @Override public void actionPerformed(ActionEvent ae){ System.out.println("TimButton1 offsetx"); myCanvas.repaint(); } } } //======================= import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; class myGraphCanvas extends Canvas{ Dimension dimension; double[] data; myGraphCanvas(int width,int height){ setSize(width,height); dimension = getSize(); data = new double[dimension.width]; setBackground(Color.lightGray); for(int i=0; i<this.getWidth(); i++){ data[i]= 100*Math.sin((i-this.getWidth()/2+1)*Math.PI*4/((this.getWidth())/2)); } } public void paint(Graphics g){ dimension = getSize(); g.setColor(Color.black); g.drawLine(0,dimension.height/2,dimension.width-1,dimension.height/2); g.drawLine(dimension.width/2,0,dimension.width/2,dimension.height-1); g.setColor(Color.blue); for(int i=0;i<dimension.width-2;){ g.drawLine( i, (int)( -data[i] + dimension.height/2 ), i+1, (int)( -data[i+1] + dimension.height/2 ) ); i++; try { Thread.sleep(5); } catch (Exception ex) { } } } }

    • ベストアンサー
    • Java
  • javaで2パネルにテーブルデーターを表示

    今日は! javaの初心者で、初心者なりに、フレームに2個のパネルを作成し、各パネルに同じ テーブルデーターを表示するコードを作ってみましたが、旨く行きません。 下記の添付コードで、不具合点の改造箇所をお教え頂けますと大変助かります。 //================================== package packageA; import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; public class JTableTest2 extends JFrame{ public static void main(String[] args){ JTableTest2 test = new JTableTest2("JTableTest2"); test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); test.setVisible(true); } JTableTest2(String name){ setBounds( 0, 0, 300*2, 140*2); setTitle(name); String data[][] = { //テーブルデータを作る {"田辺太郎","89","79","100","100"}, {"山田大助","68","55","72","100"}, {"佐藤恵美","78","69","81","100"} }; //列名の配列 String title[] = {"名前","数学","英語","国語","音楽"}; JTable table = new JTable(data,title); //テーブルデータと列名でテーブルを作る JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JScrollPane sp = new JScrollPane(table); sp.setPreferredSize(new Dimension(250, 80)); p1.add(sp); //JPanelにJScrollPaneを結合する p2.add(sp); //JPanelにJScrollPaneを結合する getContentPane().add(p1, BorderLayout.WEST); getContentPane().add(p2, BorderLayout.EAST); } } 以上、宜しくお願いします。

    • ベストアンサー
    • Java
  • javaのBoxlayoutについて

    下記はBoxLayout用ののコードです。 Q1)Buttonのサイズを設定する方法がありますか? Q2)Buttonの配置を設定する方法がありますか? //===================================== import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.LayoutManager; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class AlignmentX extends JFrame{ JButton button1; JButton button2; JButton button3; public static void main(String[] args){ AlignmentX frame = new AlignmentX(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("タイトル"); frame.setVisible(true); } AlignmentX(){ button1 = new JButton("AAAAA"); button1.setAlignmentY(0.5f); button1.setPreferredSize(new Dimension(80,20)); button2 = new JButton("BBB"); button2.setAlignmentY(0.5f); button2.setPreferredSize(new Dimension(80,20)); button3 = new JButton("CC"); button3.setAlignmentY(0.5f); button3.setPreferredSize(new Dimension(80,20)); JPanel p = new JPanel(); p.setLayout((LayoutManager) new BoxLayout(p, BoxLayout.Y_AXIS)); p.add(button1); p.add(button2); p.add(button3); getContentPane().add(p, BorderLayout.CENTER); setBounds(10, 10, 300, 200); } } //以上,宜しくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう