Tôi đã cố gắng để quá tải JMenu và đưa vào một số mã tùy chỉnh để hỗ trợ một JTextField nhưng điều đó là không tốt. Mục đích chính của tôi ở đây là thêm một trường tìm kiếm ở bên phải các mục menu của tôi. Vì vậy, tôi có một cái gì đó như File, Edit, giúp đỡ bên trái và sau đó bên phải sẽ là thanh tìm kiếm, gần giống như làm thế nào có một thanh tìm kiếm google trong một số trình duyệt. Có ai có một ý tưởng làm thế nào tôi có thể đi về việc thêm chức năng này?Làm cách nào để thêm JTextField vào MenuBar của JFrame?
Trả lời
Tôi chưa bao giờ thấy như JMenuItem
, tôi nghĩ rằng alyways đặt trong JMenuBar
import java.awt.ComponentOrientation;
import javax.swing.*;
public class MenuGlueDemo {
public MenuGlueDemo() {
JMenuBar menuBar = new JMenuBar();
menuBar.add(createMenu("Menu 1"));
menuBar.add(createMenu("Menu 2"));
menuBar.add(createMenu("Menu 3"));
menuBar.add(new JSeparator());
menuBar.add(new JButton(" Seach .... "));
menuBar.add(new JTextField(" Seach .... "));
menuBar.add(new JComboBox(new Object[]{"height", "length", "volume"}));
menuBar.add(Box.createHorizontalGlue());
menuBar.add(createMenu("About"));
JFrame frame = new JFrame("MenuGlueDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(menuBar);
frame.pack();
frame.setVisible(true);
}
public JMenu createMenu(String title) {
JMenu m = new JMenu(title);
m.add("Menu item #1 in " + title);
m.add("Menu item #2 in " + title);
m.add("Menu item #3 in " + title);
if (title.equals("About")) {
m.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
}
return m;
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MenuGlueDemo menuGlueDemo = new MenuGlueDemo();
}
});
}
}
Tôi ước gì tôi có thể upvote điều này nhiều hơn sau đó một lần, cảm ơn bạn cho một câu trả lời xuất sắc! – Grammin
bạn được chào đón, vui mừng giúp +1, và không dễ dàng để đưa bất kỳ JComponent nào vào JMenuItem, tôi đã sử dụng cho JDialog/JWindow (GridLayout) đó với JComponents đã thêm – mKorbel
Ah ok, cảm ơn lời khuyên – Grammin
- 1. Không thể thêm JTextField vào JFrame
- 2. Làm thế nào để thêm các phím tắt vào JTextField?
- 3. Cách thêm ImageIcon vào JFrame?
- 4. Làm cách nào để tôi có thể thêm QLineEdit vào Menubar
- 5. Thêm hình ảnh vào JFrame
- 6. Cách xóa JTextField khi nhấp chuột vào JTextField
- 7. Làm cách nào để tập trung vào JFrame?
- 8. Làm cách nào tôi có thể thêm phần đệm vào một jtextfield
- 9. thêm bảng điều khiển vào Jframe
- 10. Tôi có nên thêm các thành phần vào JFrame hoặc vào contentPane của nó không?
- 11. thêm khoảng cách giữa JFrame và JPanel
- 12. Làm cách nào để làm cho JFrame trong suốt?
- 13. Làm cách nào để thêm hiệu ứng Aero của Window vào JPanel?
- 14. Làm thế nào để TDD một JFrame?
- 15. Tôi làm cách nào để cuộn JFrame bằng JScrollbar?
- 16. Java, Swing: làm cách nào để đặt độ rộng tối đa của JTextField?
- 17. JTextField: Làm thế nào để hạn chế số lượng charaters?
- 18. Cách xóa MenuBar của ứng dụng bằng API cửa sổ?
- 19. Thêm 2 hoặc nhiều đối tượng vào JFrame
- 20. Làm cách nào để hiển thị BufferedImage trong JFrame?
- 21. Thêm điều khiển WebView trên Swing JFrame
- 22. Làm thế nào để lật một JFrame và các con của nó lộn ngược?
- 23. Làm cách nào để phát hiện JFrame bị đóng?
- 24. JTextField: Cách đặt văn bản ở bên trái của JTextField khi văn bản quá dài
- 25. số Hạn chế đầu vào JTextField
- 26. Làm cách nào để thêm tệp TXT vào tài nguyên vào tệp EXE của tôi?
- 27. JFrame: Cách tắt kích thước cửa sổ?
- 28. Java Swing Bố cục JFrame
- 29. Bạn làm cách nào để thêm SDK vào Android Studio?
- 30. Đường viền trong suốt của JTextField trong Swing
Tại sao nó không được tiến triển tốt? Cái gì * đặc biệt * dường như đang làm phiền bạn? – mre
@mre Tôi đã chạy vào một kết thúc chết, nơi tôi đang cố gắng thêm hộp văn bản thay vì một nút. JMenuItem kế thừa từ AbstractButton vì vậy tôi không biết cách thêm một hộp văn bản thay vì chỉ thay đổi văn bản trên một AbstractButton. Tôi cũng không tin rằng đây là cách tốt nhất để thêm chức năng tôi đang nói về bởi vì có vẻ như tôi có thể phải thay đổi xung quanh một loạt các thứ sâu bên trong JMenu. Tôi đoán tôi đang tìm kiếm hướng dẫn về một cách tốt hơn để làm điều này sau đó những gì tôi hiện đang cố gắng làm. – Grammin