Java setFont()问题
我有两个按钮来编辑文本中的字体。粗体按钮和斜体按钮,分开,它们工作良好,但不在一起。我怎样才能让我的纽扣一起工作呢?(粗体+斜体)Java setFont()问题,java,swing,fonts,actionlistener,jtogglebutton,Java,Swing,Fonts,Actionlistener,Jtogglebutton,我有两个按钮来编辑文本中的字体。粗体按钮和斜体按钮,分开,它们工作良好,但不在一起。我怎样才能让我的纽扣一起工作呢?(粗体+斜体) 按下一个按钮设置字体时,会覆盖上一个字体,消除上一次按下按钮可能产生的任何效果。我自己,我会让两个ActionListeners(或ItemListeners)调用相同的方法,一个检查两个按钮的状态并将字体设置为与按钮值对应的字体 另外,根据我的评论,去掉Eclipse标记,而是在您的问题中添加一个Swing标记,这样就不会误导任何人。Eclipse只是作为IDE使
按下一个按钮设置字体时,会覆盖上一个字体,消除上一次按下按钮可能产生的任何效果。我自己,我会让两个ActionListeners(或ItemListeners)调用相同的方法,一个检查两个按钮的状态并将字体设置为与按钮值对应的字体 另外,根据我的评论,去掉Eclipse标记,而是在您的问题中添加一个Swing标记,这样就不会误导任何人。Eclipse只是作为IDE使用的工具,与您的问题无关 另外,您不应该设置组件的边界或使用空布局,而是希望使用适当的布局管理器
编辑
你问:
检查按钮状态的方法?你能详细说明一下吗 您已经知道如何使用
isSelected()
方法调用检查按钮的状态。当按下按钮时,与其只检查一个按钮,不如同时检查两个按钮。事实上,您可以为两个按钮提供相同的ActionListener:
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
// check selected states of both button one and two and set font accordingly
// you can use if (foo && bar) {...}
// else if (foo) {...}
// else if (bar) {...}
// else {.. default...}
}
};
button1.addActionListener(actionListener);
button2.addActionListener(actionListener);
检查按钮状态的方法?你能详细解释一下吗?明白了,我现在就试试。从问题标题中删除Java——它已经在你的标签中,并从标题中删除“Eclipse”,因为你的问题与Eclipse无关。
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
// check selected states of both button one and two and set font accordingly
// you can use if (foo && bar) {...}
// else if (foo) {...}
// else if (bar) {...}
// else {.. default...}
}
};
button1.addActionListener(actionListener);
button2.addActionListener(actionListener);