У меня этот графический интерфейс, и он отлично работает, но теперь я хотел добавить панель инструментов, в которой будет кнопка «Файл», которая будет работать с двумя вариантами, которые являются «Выход» и «О». Предполагается, что выход закрывает графический интерфейс, в то время как About должен выдавать другое поле JFrame, содержащее строку о назначении. По какой-то причине я не смог заставить мой JMenubar появиться там, когда я запускаю программу. Я могу напечатать материал, который позволяет мне узнать, является ли слово или строка палиндром или нет, но не удавалось с помощью панели инструментов. Как мне его реализовать, чтобы на панели инструментов отображалась кнопка «файл», которая имеет два варианта ниже? Я не так хорош, когда речь заходит о графическом интерфейсе, поэтому я был бы счастлив, если вы пройдете меня через это. Благодаря Вот мой код нижеКак мне показать свою панель инструментов?
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Owner
*/
public class PalindromGUI extends JFrame {
private JTextField TextField;
private JTextArea textArea;
private JMenuBar menubar;
private JMenuItem exit;
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
PalindromGUI gui = new PalindromGUI();
gui.setVisible(true);
}
public PalindromGUI() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(50,50,90,650);
//Create a panel and add components to it.
JPanel contentPane = new JPanel();
BorderLayout experimentLayout = new BorderLayout();
contentPane.setLayout(experimentLayout);
contentPane.setPreferredSize(new Dimension(800, 500));
TextField = new JTextField();
TextField.setForeground(new Color(0, 0, 0));
TextField.setOpaque(true);
TextField.setBackground(new Color(255, 255, 255));
TextField.setFont(new Font("Verdana", Font.PLAIN, 30));
TextField.setMargin(new Insets(20, 20, 20, 20));//add margin 30
TextField.setText("Enter a word to see if it is a palindrome");
TextField.setEditable(false);
//toolbar
menubar = new JMenuBar();
setJMenuBar(menubar);
exit = new JMenuItem();
// exit.addActionListener(new exitApp());
contentPane.add(exit);
// menubar.setForeground(new Color(0, 0, 0));
// menubar.setOpaque(true);
// menubar.setBackground(new Color(255, 255, 255));
// menubar.setFont(new Font("Verdana", Font.PLAIN, 40));
// menubar.setMargin(new Insets(20, 20, 20, 20));
//
textArea = new JTextArea();
textArea.setForeground(new Color(0, 0, 0));
textArea.setOpaque(true);
textArea.setBackground(new Color(255, 255, 255));
textArea.setFont(new Font("Verdana", Font.PLAIN, 40));
textArea.setMargin(new Insets(20, 20, 20, 20));//add margin 30
JButton enter = new JButton();
enter.setText("GO");
enter.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
String pal = textArea.getText();
String temp = pal.replaceAll("\\W", "");
Palindrome myPalindrome = new Palindrome(temp);
if (myPalindrome.isPalindrome()) {
TextField.setText(pal + " is a palindrome");
} else {
TextField.setText(pal + " is not a palindrome");
}
textArea.setText("");
}
});
contentPane.add(enter, BorderLayout.EAST);
contentPane.add(textArea, BorderLayout.SOUTH);
contentPane.add(TextField, BorderLayout.CENTER);
contentPane.add(menubar, BorderLayout.PAGE_START);
setContentPane(contentPane);
// this.add(contentPane);
this.pack();
this.setVisible(true);
}
}
Спасибо, что сделал трюк. Мне также интересно, как добавить функции в «Выход» и «О»? Видимо, они просто струны. Как я могу заставить их работать? – UniQuadrion
-1, этот ответ уже был дан 9 минутами ранее. Не нужно загромождать форум дублирующимися ответами. Ложка, кормящая код, не помогает OP учиться. Обратите внимание на следующий вопрос. 'Как я могу заставить их работать?' OP еще не прочитал учебник и ждет, когда вы напишете код. – camickr
@UniQuadrion Начните с чтения руководств, предоставленных Camickr, а также [Как использовать кнопки] (http://docs.oracle.com/javase/tutorial/uiswing/components/button.html) и [Как написать ActionListeners] (http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html), это основные понятия, которые вы много спасете, поэтому найдите их, чтобы узнать их. – MadProgrammer