java是我的第一种语言,我主要是用它创建cli应用程序,但两年前我放弃了c语言,但我还是选择了它,因为它似乎是最容易实现gui的语言。我正在编写一个简单的记事本,名为maketext,主要区别:黑暗主题。我想做一个工具栏按钮来改变字体(使用intellij idea ui builder)以下是使用工具栏按钮编辑页面的代码:
package GUI;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class EditingPage
{
JFrame EditingFrame;
public JPanel EditPanel;
public JEditorPane MainEditor;
private JPanel ButtonPanel;
private JButton fontSizeButton;
public EditingPage() {
fontSizeButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
FontDialouge dialog = new FontDialouge();
dialog.pack();
dialog.setVisible(true);
}
});
}
}
下面是字体对话框的代码:
package GUI;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class FontDialouge extends JDialog
{
private JPanel contentPane;
private JButton buttonOK;
private JTextField FontSizeTextBox;
public FontDialouge()
{
setContentPane(contentPane);
setModal(true);
getRootPane().setDefaultButton(buttonOK);
buttonOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
onOK();
}
});
}
private void onOK()
{
String inputFontSize = FontSizeTextBox.getText();
//Converting string to int
try
{
int OutputFontSize = Integer.parseInt(inputFontSize);
System.out.println("Successfully set the font!");
EditingPage editingPage = new EditingPage();
editingPage.MainEditor.setFont(new Font("JetBrains Mono", Font.PLAIN, OutputFontSize));
}
catch (NumberFormatException nfe)
{
JOptionPane.showMessageDialog(null, "Not a valid size !");
System.out.println("ERROR! not a valid size! ERROR: " + nfe);
}
}
}
但由于某种原因,当我点击“确定”按钮时,它设置了字体,而且是一样的。我已经很长时间没有真正使用java了,如果这是一个非常基本的问题,那么很抱歉!如果你想要所有的src-bc,这里的数量还不够,那么这里有一个github页面。
1条答案
按热度按时间zdwk9cvp1#
in方法
onOK()
,在课堂上FontDialouge
,您正在创建的新示例EditingPage
. 这与创建FontDialouge
. 您正在更改另一个文件的字体EditPanel
.传递引用
EditPanel
至FontDialouge
.在方法上
actionPerformed()
,在课堂上EditingPage
,更改FontDialouge
建造师。