public void addRadioButton(String string, final int size) {
JRadioButton radioButton=new JRadioButton(string);
group.add(radioButton);
panel.add(radioButton);
ActionListener Listener=new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
label.setFont(new Font("Serif",Font.BOLD,size));
}
};
radioButton.addActionListener(Listener);
}
上述函数中size参数为什么不可以把final去掉,去掉就报错,与Font有什么具体联系没?
JRadioButton radioButton=new JRadioButton(string);
group.add(radioButton);
panel.add(radioButton);
ActionListener Listener=new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
label.setFont(new Font("Serif",Font.BOLD,size));
}
};
radioButton.addActionListener(Listener);
}
上述函数中size参数为什么不可以把final去掉,去掉就报错,与Font有什么具体联系没?
解决方案 »
- 关于一个数组函数的问题
- JNI中JAVA的什么类型对应C的LPWSTR
- 菜鸟询问一低级问题,40分仅赠送一人
- 请教高手,请问在java中调用ocx或者com组件,如何收到它们的事件以及传出参数?
- 请教:关于字符分解的问题
- java非线程的程序里有没有类似sleep()方法?
- 请问:如何为float型数据加1?
- 求教这个题怎么搞?
- 请教:在SQL server 的 JDBC 中怎样设置才能使用ResultSet.isBeforeFirst
- 急,我想问一下调用一个对话框的命令语句,比方说我已建立了一个Applet2,接下来该如何在Applet1中点击一个按钮来打开这个Applet2.谢谢
- Exception in thread"main"java.lang.ClassCastException: thepvc cannot be cast to
- 需要为 class、interface 或 enum ..问题!!!!
int style,
int size)根据指定名称、样式和磅值大小,创建一个新 Font。
字体名称可以是字体外观名称或字体系列名称。它与样式一起使用,以查找合适的字体外观。如果指定了字体系列名称,则使用样式参数从系列中选择最合适的外观。如果指定了字体外观名称,则合并外观的样式和样式参数,以便从同一个系列查找最匹配的字体。例如,如果指定外观名称 "Arial Bold" 及样式 Font.ITALIC,则字体系统在 "Arial" 系列中寻找既是粗体又是斜体的外观,可以将字体实例与物理字体外观 "Arial Bold Italic" 相关联。将样式参数与指定外观的样式合并,而不是执行添加或减去操作。这意味着,指定粗体外观和粗体样式并不会双倍加粗字体,而指定粗体外观和普通样式也不会变细字体。 如果无法找到所要求样式的外观,则字体系统可以应用样式设计算法来获得所需的样式。例如,如果要求 ITALIC,但是没有可用的斜体外观,则可以通过算法使普通外观倾斜。 字体名称查找是区分大小写的,可以使用 US 语言环境的大小写转换规则。 如果 name 参数表示逻辑字体以外的事物,例如表示为物理字体外观或系列名称,并且无法通过实现物理字体或可兼容的替代物映射它,则字体系统会将 Font 实例映射到 "Dialog",因此,通过 getFamily 报告的字体系列名称将是 "Dialog"。 参数:
name - 字体名称。可以是字体外观名称或字体系列名称,并且可表示此 GraphicsEnvironment 中找到的逻辑字体或物理字体。逻辑字体的系列名称有:Dialog、DialogInput、Monospaced、Serif 或 SansSerif。预定义 String 常量是为所有这些名称(如 DIALOG)而存在。如果 name 为 null,则将新 Font 的逻辑字体名称(由 getName() 返回)设置为 "Default"。
style - Font 的样式常量。样式参数是整数位掩码,可以为 PLAIN,或 BOLD 和 ITALIC 的按位或(例如,ITALIC 或 BOLD|ITALIC)。如果样式参数不符合任何一个期望的整数位掩码,则将样式设置为 PLAIN。
size - Font 的磅值大小
从以下版本开始:
JDK1.0
另请参见:
GraphicsEnvironment.getAllFonts(), GraphicsEnvironment.getAvailableFontFamilyNames()--------------------------------------------------------------------------------API中没有提到 Size要用常量传值啊?
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;public class RadioButtonTest { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
EventQueue.invokeLater(new Runnable(){
public void run(){
RadioButtonFrame frame=new RadioButtonFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}); }}
class RadioButtonFrame extends JFrame{
private JPanel panel;
private JLabel label;
private ButtonGroup group;
public RadioButtonFrame(){
setTitle("RadioButtonFrame");
setSize(400,400);
setLayout(new BorderLayout());
label=new JLabel("The quick brown fox...");
add(label,BorderLayout.CENTER);
panel=new JPanel();
group=new ButtonGroup();
addRadioButton("Small",8);
addRadioButton("Medium",12);
addRadioButton("Large",16);
addRadioButton("Extra large",20);
add(panel,BorderLayout.SOUTH);
}
public void addRadioButton(String string, final int size) {
JRadioButton radioButton=new JRadioButton(string);
group.add(radioButton);
panel.add(radioButton);
ActionListener Listener=new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
label.setFont(new Font("Serif",Font.BOLD,size));
}
};
radioButton.addActionListener(Listener);
}
}全部代码在这里,不怕麻烦就看下!!