実現したいこと
VSのFormのようにラベルを配置したい。
テキストをこの座標に配置する、というのを複数のテキストで貼り付けたい。
発生している問題・分からないこと
Javaのswingにおいて、Jlabelを座標を指定して配置した際に、なぜか座標どおりに動かず、しかも複数配置したとしても、重なって表示されてしまう。
該当のソースコード
Java
1import javax.swing.*; 2import java.awt.*; 3import java.awt.event.*; 4 5public class Apprication extends JFrame implements ActionListener { 6 JButton btn_secup; 7 JLabel lbl_setHour; 8 JLabel lbl_setMin; 9 JTextField txtf_setHour; 10 JPanel panel ; 11 12 public Apprication(){ 13 setTitle("Timer"); 14 setSize(800,600); 15 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 16 setLayout(new GridLayout(60,80)); 17 setVisible(true); 18 19 String title_Hour = "<html><h2>時間:</h2>"; 20 lbl_setHour = new JLabel(title_Hour); 21 lbl_setHour.setBounds(10,10,40,30); 22 lbl_setHour.setOpaque(false); 23 lbl_setHour.setBackground(Color.RED); 24 lbl_setHour.setFont(new Font("MS ゴシック", Font.BOLD, 30)); 25 lbl_setHour.setText(title_Hour); 26 panel.add(lbl_setHour); 27 28 String title_min = "<html><h2>分:</h2>"; 29 lbl_setMin = new JLabel(title_Hour); 30 lbl_setHour.setBounds(50,50,40,30); 31 lbl_setHour.setOpaque(true); 32 lbl_setHour.setBackground(Color.RED); 33 lbl_setHour.setFont(new Font("MS ゴシック", Font.BOLD, 16)); 34 lbl_setHour.setText(title_min); 35 panel.add(lbl_setHour); 36 add(panel,BorderLayout.CENTER); 37 } 38 public void actionPerformed(ActionEvent ev) 39 { 40 int i = 0; 41 } 42 public static void main(String[] args){ 43 new Apprication(); 44 } 45}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
自分が考えたり、JavaDriveやとほほなどを参考に改変してみたが、一向にうまくいかなかった。
補足
まだJavaに触れ始めてから三か月程度なので、少し初心者向けにお願いします。
ご提示のコードはお手元のコードと全く同じ状態でしょうか?
こちらでコピペして実行すると例外が発生しラベルが表示されません。
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "javax.swing.JPanel.add(java.awt.Component)" because "this.panel" is null
at teratail_java.q_kxmevt0lqw9e7r.Apprication.<init>(Apprication.java:27)
at teratail_java.q_kxmevt0lqw9e7r.Apprication.main(Apprication.java:43)
