간단한 그리기 응용 프로그램이 있습니다. 왼쪽에 메뉴와 도구 모음을 추가해야합니다. 이제 간단한 JFrame을 사용하는 대신 JFrame을 확장하는 간단한 클래스를 만듭니다. 몇 가지 예제를 온라인에 따라 메뉴를 추가 할 수 있었지만 JToolBar를 추가하는 방법을 알 수 없습니다. 몇 가지 방법을 시도했지만 아무 것도 작동하지 않습니다. 오류가 발생하지 않고 모든 것이 정상적으로 처리되지만 JToolBar가 표시되지 않습니다. 내 JFrame 코드는 다음과 같습니다. 도움을 받으시기 바랍니다. 기본적으로는 전시가, 같은 장소에서 도구 모음 두 시간을 추가하지 않기 때문에JToolBar가 보이지 않음
class Menu extends JFrame {
private JMenuItem openItem;
private JMenuItem saveItem;
private JMenuItem saveAsItem;
public Menu(String title) {
openItem = new JMenuItem("Open...");
openItem.setMnemonic('O');
openItem.setAccelerator(KeyStroke.getKeyStroke("control O"));
saveItem = new JMenuItem("Save");
saveItem.setMnemonic('S');
saveItem.setAccelerator(KeyStroke.getKeyStroke("control S"));
saveAsItem = new JMenuItem("Save As...");
saveAsItem.setMnemonic('S');
saveAsItem.setAccelerator(KeyStroke.getKeyStroke("control S"));
// (2) Build menubar, menus, and add menuitems.
JMenuBar menubar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic('F');
menubar.add(fileMenu);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
// (3) Add listeners to menu items
openItem.addActionListener(new OpenAction()); // TODO change
setJMenuBar(menubar);
JToolBar toolbar = new JToolBar("Toolbar", JToolBar.VERTICAL);//);
// JPanel panel = new JPanel();
// panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JButton newb = new JButton("new");
toolbar.add(newb);
// toolbar.setOpaque(true);
toolbar.setLocation(100, 100);
toolbar.setVisible(true);
// toolbar.setMinimumSize(new Dimension(100, 100));
// toolbar.setAlignmentX(0);
// panel.add(toolbar);
add(toolbar, BorderLayout.NORTH);
getContentPane().add(toolbar, BorderLayout.NORTH);
// getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
setTitle(title);
pack();
setLocationRelativeTo(null); // Center window.
}
// OpenAction
class OpenAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(Menu.this, "Can't Open.");
}
}
}
JToolBar가이 코드와 함께 나에게 나타납니다. 그러나 JToolBar의 위치를 설정하지 마십시오. 대신 레이아웃 관리자가 대신 해줍니다. –