私はJavaで基本的なタイマープログラムを書いていますが、プログラムの上部にメニューバーを配置したいと思います。私が今持っているコードは次のとおりです。
public Main() {
JMenuBar menubar = new JMenuBar();
setJMenuBar(menubar);
JMenu menu = new JMenu("Test");
menubar.add(menu);
JMenuItem menuitem = new JMenuItem("Item");
menu.add(menuitem);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
setTitle(Namer.name);
new Timer(delay, timer).start();
new Timer(1, new Refresher()).start();
setResizable(false);
setVisible(true);
}
public void paint(Graphics g) {
Graphics buffer = unscreen.getGraphics();
buffer.setColor(Color.white);
buffer.fillRect(0, 0, 500, 500);
buffer.setColor(Color.black);
buffer.setFont(new Font("Times New Roman", Font.PLAIN, 25));
// buffer.drawString("hours:minutes:seconds: ", 25, 100);
buffer.drawString(hourss + numhours + ":" + minutess + numminutes + ":"
+ secondss + numseconds, 100, 100);
g.drawImage(unscreen, 0, 0, null);
}
このコードを実行すると、期待するすべてのものが表示されます。これは、プログラムの起動時間を示す数値と、メニューバーを除く画面上部のメニューバーです。ペイント方法をコメントアウトしてみましたが、コメントするとうまくいきます。私がしていることを行うためのより良い方法や、私の問題に対する別の解決策はありますか?また、ウィンドウに何かを印刷するためのより良い方法があれば、そこにペイントメソッドを用意する必要はありません。