帮我在一个原有的java程序上加一些功能(记事本的字体和颜色) 100

急急急急... 急急急急 展开
 我来答
爱国者之复兴
2014-01-11 · TA获得超过302个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:92万
展开全部
java有专门的FontDialog和ColorDialog的
class FontSet implements ActionListener { // "字体设置"菜单事件
@Override
public void actionPerformed(ActionEvent fonte) {
new FontDialog();
}
class FontDialog extends JDialog implements ItemListener, ActionListener, WindowListener{
private static final long serialVersionUID = 1L;
public JCheckBox Bold,Italic;
public List Size,Name;
public int FontName;
public int FontStyle;
public int FontSize;
public JButton OK,Cancel;
public JTextArea Text;
FontDialog() {
GraphicsEnvironment g=GraphicsEnvironment.getLocalGraphicsEnvironment();
String name[]=g.getAvailableFontFamilyNames();
Bold=new JCheckBox("加粗",false);
Italic=new JCheckBox("斜体",false);
Text=new JTextArea("字体预览用例\n9876543210\nAaBbCcXxYyZz");
OK=new JButton("确定");
Cancel=new JButton("取消");
Size=new List();
Name=new List();
int i=0;
Name.add("Default Value");
for(i=0;i<name.length;i++) Name.add(name[i]);
for(i=8;i<257;i++) Size.add(String.valueOf(i));
FontName=0;
FontStyle=0;
FontSize=8;
this.setLayout(null);
this.setLocationRelativeTo(null);
this.setSize(480, 306);
this.setVisible(true);
this.setResizable(false);
OK.setFocusable(false);
Cancel.setFocusable(false);
Bold.setFocusable(false);
Italic.setFocusable(false);
Name.setFocusable(false);
Size.setFocusable(false);
Name.setBounds(10, 10, 212, 259);
Container c=this.getContentPane();
c.add(Name);
Bold.setBounds(314, 10, 64, 22);
c.add(Bold);
Italic.setBounds(388, 10, 64, 22);
c.add(Italic);
Size.setBounds(232, 10, 64, 259);
c.add(Size);
Text.setBounds(306, 40, 157, 157);
c.add(Text);
OK.setBounds(306, 243, 74, 26);
c.add(OK);
Cancel.setBounds(390, 243, 74, 26);
c.add(Cancel);
Name.select(FontName);
Size.select(FontSize);
Text.setFont(getFont());
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Name.addItemListener(this);
Size.addItemListener(this);
Bold.addItemListener(this);
Italic.addItemListener(this);
OK.addActionListener(this);
Cancel.addActionListener(this);
this.addWindowListener(this);
}
public void itemStateChanged(ItemEvent e) {
Text.setFont(getFont());
area.setFont(getFont());
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==OK){
FontName=Name.getSelectedIndex();
FontStyle=getStyle();
FontSize=Size.getSelectedIndex();
this.setVisible(false);
}
else cancel();
}
public void windowClosing(WindowEvent e) {
cancel();
}
public Font getFont(){
if(Name.getSelectedIndex()==0) return new Font("新宋体",getStyle(),Size.getSelectedIndex()+8);
else return new Font(Name.getSelectedItem(),getStyle(),Size.getSelectedIndex()+8);
}
public void cancel(){
Name.select(FontName);
Size.select(FontSize);
setStyle();
Text.setFont(getFont());
this.setVisible(false);
}
public void setStyle(){
if(FontStyle==0 || FontStyle==2) Bold.setSelected(false);
else Bold.setSelected(true);
if(FontStyle==0 || FontStyle==1) Italic.setSelected(false);
else Italic.setSelected(true);
}
public int getStyle(){
int bold=0,italic=0;
if(Bold.isSelected()) bold=1;
if(Italic.isSelected()) italic=1;
return bold+italic*2;
}
public void windowActivated(WindowEvent arg0) {}
public void windowClosed(WindowEvent arg0) {}
public void windowDeactivated(WindowEvent arg0) {}
public void windowDeiconified(WindowEvent arg0) {}
public void windowIconified(WindowEvent arg0) {}
public void windowOpened(WindowEvent arg0) {}

}

}

class backgroundEvent implements ActionListener { // "背景颜色"设置
@Override
public void actionPerformed(ActionEvent arg0) {
Color ccc = JColorChooser.showDialog(WriteText.this, "color",
new Color(240, 255, 255));
area.setSelectedTextColor(ccc);
area.setBackground(ccc);
}

}
睿智的蓝猫
2014-01-03 · TA获得超过394个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:107万
展开全部

很简单啊,根据api就可以完成的工作

给你个demo是设置文字颜色的

更多追问追答
追问
可是我不会合并啊,你可以帮我合并吗
追答
可以啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-11
展开全部
楼上是对的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式