输出文本为何出现乱码(上)

sunwxb 2009-12-20 01:57:04
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.*;

public class SelectionDemo extends JFrame implements ActionListener,ItemListener
{
static SelectionDemo frame=new SelectionDemo();
static Save save=new Save();

static JLabel label1=new JLabel("总人数:");
static JLabel label2=new JLabel("最高票数选手:");
static JLabel label3=new JLabel("最高票数:");
static JDialog dialog=new JDialog();
static JLabel label4=new JLabel();
static JLabel label5=new JLabel();
static JLabel label6=new JLabel();
static JLabel label7=new JLabel();
static JLabel label8=new JLabel();
static JLabel label9=new JLabel();
static JLabel label10=new JLabel();
static JLabel label11=new JLabel();
static JLabel label12=new JLabel();
static JLabel label13=new JLabel();

static JButton button1=new JButton("提交");
static JButton button2=new JButton("刷新");
static JButton button3=new JButton("保存");
static JButton button4=new JButton("取消");

static JTextField tf1=new JTextField("",5);
static JTextField tf2=new JTextField("",15);
static JTextField tf3=new JTextField("",5);

static JCheckBox cb1=new JCheckBox("A");
static JCheckBox cb2=new JCheckBox("B");
static JCheckBox cb3=new JCheckBox("C");
static JCheckBox cb4=new JCheckBox("D");
static JCheckBox cb5=new JCheckBox("E");
static JCheckBox cb6=new JCheckBox("F");
static JCheckBox cb7=new JCheckBox("G");
static JCheckBox cb8=new JCheckBox("H");
static JCheckBox cb9=new JCheckBox("I");
static JCheckBox cb10=new JCheckBox("J");

static JPanel panel1=new JPanel();
static JPanel panel2=new JPanel();
static JPanel panel3=new JPanel();
static JPanel panel4=new JPanel();

static int count=0;
static int count1=0;
static int x1=100,x2=100,x3=100,x4=100,x5=100,x6=100,x7=100,x8=100,x9=100,x10=100;
static int y=250;


public static void main(String[] args)
{
BorderLayout br=new BorderLayout();
frame.setLayout(br);
frame.addWindowListener(save);
frame.setTitle("投票计数器");
frame.add(panel1,BorderLayout.NORTH);
panel1.setBounds(0,0,500,10);
panel1.add(label1);panel1.add(tf1);
panel1.add(label2);panel1.add(tf2);
panel1.add(label3);panel1.add(tf3);

frame.add(panel2,BorderLayout.WEST);
GridLayout gl=new GridLayout(10,1,0,3);
panel2.setLayout(gl);
panel2.add(cb1);
panel2.add(cb2);
panel2.add(cb3);
panel2.add(cb4);
panel2.add(cb5);
panel2.add(cb6);
panel2.add(cb7);
panel2.add(cb8);
panel2.add(cb9);
panel2.add(cb10);

frame.add(panel3,BorderLayout.SOUTH);
panel3.setBounds(150,450,10,10);
panel3.add(button1);
panel3.add(button2);

frame.add(panel4,BorderLayout.EAST);
GridLayout gl1=new GridLayout(10,1,0,3);
panel4.setLayout(gl1);
panel4.add(label4);panel4.add(label5);panel4.add(label6);panel4.add(label7);panel4.add(label8);
panel4.add(label9);panel4.add(label10);panel4.add(label11);panel4.add(label12);panel4.add(label13);
label4.setForeground(new Color(0,0,255));label5.setForeground(new Color(0,0,255));
label6.setForeground(new Color(0,0,255));label7.setForeground(new Color(0,0,255));
label8.setForeground(new Color(0,0,255));label9.setForeground(new Color(0,0,255));
label10.setForeground(new Color(0,0,255));label11.setForeground(new Color(0,0,255));
label12.setForeground(new Color(0,0,255));label13.setForeground(new Color(0,0,255));

frame.pack();
frame.setLocation(400,300);
//frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setResizable(false);

tf1.setEditable(false);
tf2.setEditable(false);
tf3.setEditable(false);

button1.addActionListener(frame);button2.addActionListener(frame);
button3.addActionListener(frame);button4.addActionListener(frame);

cb1.addItemListener(frame);cb2.addItemListener(frame);cb3.addItemListener(frame);
cb4.addItemListener(frame);cb5.addItemListener(frame);cb6.addItemListener(frame);
cb7.addItemListener(frame);cb8.addItemListener(frame);cb9.addItemListener(frame);
cb10.addItemListener(frame);

button1.setEnabled(false);
}
static class Save extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
dialog.setTitle("保存文件");
dialog.setSize(200,100);
dialog.add(button3);dialog.add(button4);
dialog.setLayout(new FlowLayout(FlowLayout.CENTER,5,30));
dialog.setLocation(400,300);
dialog.setVisible(true);
}
}
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ctlz87 2009-12-20
  • 打赏
  • 举报
回复
jdk和windows所用的编码方式不同
sunwxb 2009-12-20
  • 打赏
  • 举报
回复
因为分数不够用,所以在此求解:为何保存的.TXT文本的"票"字乱码呢?谢谢各位朋友了。
sunwxb 2009-12-20
  • 打赏
  • 举报
回复
不显示删除回复显示所有回复显示星级回复显示得分回复 输出文本为何出现乱码(下)
public void itemStateChanged(ItemEvent e)
{
if(count1>=1)//每个人至少投两个人
{
button1.setEnabled(true);
}else{
button1.setEnabled(false);
}
if(count1<5)//此投票计数器一个人只能投四票;count1:统计选人的数目;
{
if(cb1.isSelected())
{
count1++;
cb1.setEnabled(true);
}
if(cb2.isSelected())
{
count1++;
cb2.setEnabled(true);
}
if(cb3.isSelected())
{
count1++;
cb2.setEnabled(true);
}
if(cb4.isSelected())
{
count1++;
cb4.setEnabled(true);
}
if(cb5.isSelected())
{
count1++;
cb5.setEnabled(true);
}
if(cb6.isSelected())
{
count1++;
cb6.setEnabled(true);
}
if(cb7.isSelected())
{
count1++;
cb7.setEnabled(true);
}
if(cb8.isSelected())
{
count1++;
cb8.setEnabled(true);
}
if(cb9.isSelected())
{
count1++;
cb9.setEnabled(true);
}
if(cb10.isSelected())
{
count1++;
cb10.setEnabled(true);
}

}else{
count1=0;
if(cb1.isSelected())
{
cb1.setEnabled(true);
}else{
cb1.setEnabled(false);
}
if(cb2.isSelected())
{
cb2.setEnabled(true);
}else{
cb2.setEnabled(false);
}
if(cb3.isSelected())
{
cb3.setEnabled(true);
}else{
cb3.setEnabled(false);
}
if(cb4.isSelected())
{
cb4.setEnabled(true);
}else{
cb4.setEnabled(false);
}
if(cb5.isSelected())
{
cb5.setEnabled(true);
}else{
cb5.setEnabled(false);
}
if(cb6.isSelected())
{
cb6.setEnabled(true);
}else{
cb6.setEnabled(false);
}
if(cb7.isSelected())
{
cb7.setEnabled(true);
}else{
cb7.setEnabled(false);
}
if(cb8.isSelected())
{
cb8.setEnabled(true);
}else{
cb8.setEnabled(false);
}
if(cb9.isSelected())
{
cb9.setEnabled(true);
}else{
cb9.setEnabled(false);
}
if(cb10.isSelected())
{
cb10.setEnabled(true);
}else{
cb10.setEnabled(false);
}
}
}

public void actionPerformed(ActionEvent e)
{
JButton button=(JButton)e.getSource();
if(button==button1)
{
button1.setEnabled(false);
count++ ;//参加投票的人数
tf1.setText(""+count);

Graphics g=getGraphics();
g.setColor(Color.GREEN);
if(cb1.isSelected())
{
g.fillRect(x1,70,1,15);
x1++;
}
if(cb2.isSelected())
{
g.fillRect(x2,98,1,15);
x2++;
}
if(cb3.isSelected())
{
g.fillRect(x3,126,1,15);
x3++;
}
if(cb4.isSelected())
{
g.fillRect(x4,158,1,15);
x4++;
}
if(cb5.isSelected())
{
g.fillRect(x5,188,1,15);
x5++;
}
if(cb6.isSelected())
{
g.fillRect(x6,218,1,15);
x6++;
}
if(cb7.isSelected())
{
g.fillRect(x7,y,1,15);
x7++;
}
if(cb8.isSelected())
{
g.fillRect(x8,278,1,15);
x8++;
}
if(cb9.isSelected())
{
g.fillRect(x9,308,1,15);
x9++;
}
if(cb10.isSelected())
{
g.fillRect(x10,338,1,15);
x10++;
}
int array[]={x1-100,x2-100,x3-100,x4-100,x5-100,x6-100,x7-100,x8-100,x9-100,x10-100};
label4.setText(array[0] +"票");
label5.setText(array[1] +"票");
label6.setText(array[2] +"票");
label7.setText(array[3] +"票");
label8.setText(array[4] +"票");
label9.setText(array[5] +"票");
label10.setText(array[6] +"票");
label11.setText(array[7] +"票");
label12.setText(array[8] +"票");
label13.setText(array[9] +"票");

java.util.Arrays.sort(array);//排序,从小到大;
tf3.setText("" +array[9]);
if(array[9]==(x1-100))
{
tf2.setText("A");
}
if(array[9]==(x2-100))
{
tf2.setText("B");
}
if(array[9]==(x3-100))
{
tf2.setText("C");
}
if(array[9]==(x4-100))
{
tf2.setText("D");
}
if(array[9]==(x5-100))
{
tf2.setText("E");
}
if(array[9]==(x6-100))
{
tf2.setText("F");
}
if(array[9]==(x7-100))
{
tf2.setText("G");
}
if(array[9]==(x8-100))
{
tf2.setText("H");
}
if(array[9]==(x9-100))
{
tf2.setText("I");
}
if(array[9]==(x10-100))
{
tf2.setText("J");
}
if(array[9]==array[8]||array[9]==array[7]||array[9]==array[6]||array[9]==array[5]||
array[9]==array[4]||array[9]==array[3]||array[9]==array[2]||array[9]==array[1]||
array[9]==array[0])
{
tf2.setText("并列第一,如下图");
}
//
if(cb1.isSelected()){
cb1.setEnabled(true);
}else {
cb1.setEnabled(false);
}
if(cb2.isSelected()){
cb2.setEnabled(true);
}else {
cb2.setEnabled(false);
}
if(cb3.isSelected()){
cb3.setEnabled(true);
}else {
cb3.setEnabled(false);
}
if(cb4.isSelected()){
cb4.setEnabled(true);
}else {
cb4.setEnabled(false);
}
if(cb5.isSelected()){
cb5.setEnabled(true);
}else {
cb5.setEnabled(false);
}
if(cb6.isSelected()){
cb6.setEnabled(true);
}else {
cb6.setEnabled(false);
}
if(cb7.isSelected()){
cb7.setEnabled(true);
}else {
cb7.setEnabled(false);
}
if(cb8.isSelected()){
cb8.setEnabled(true);
}else {
cb8.setEnabled(false);
}
if(cb9.isSelected()){
cb9.setEnabled(true);
}else {
cb9.setEnabled(false);
}
if(cb10.isSelected()){
cb10.setEnabled(true);
}else {
cb10.setEnabled(false);
}
}else if(button==button2){
cb1.setSelected(false);cb2.setSelected(false);cb3.setSelected(false);cb4.setSelected(false);
cb5.setSelected(false);cb6.setSelected(false);cb7.setSelected(false);cb8.setSelected(false);
cb9.setSelected(false);cb10.setSelected(false);
cb1.setEnabled(true);cb2.setEnabled(true);cb3.setEnabled(true);cb4.setEnabled(true);
cb5.setEnabled(true);cb6.setEnabled(true);cb7.setEnabled(true);cb8.setEnabled(true);
cb9.setEnabled(true);cb10.setEnabled(true);
}else if(button==button3){
JFileChooser jf=new JFileChooser();
jf.showSaveDialog(SelectionDemo.this);
String filename=jf.getSelectedFile().getAbsolutePath().trim();
FileWriter fw;
BufferedWriter bw;
try{
fw=new FileWriter(filename +".txt");
bw=new BufferedWriter(fw);
String array[]={cb1.getText(),":",label4.getText(),"\r\n",cb2.getText(),":",label5.getText(),"\r\n"
,cb3.getText(),":",label6.getText(),"\r\n",cb4.getText(),":",label7.getText(),"\r\n",
cb5.getText(),":",label8.getText(),"\r\n",cb6.getText(),":",label9.getText(),"\r\n",
cb7.getText(),":",label10.getText(),"\r\n",cb8.getText(),":",label11.getText(),"\r\n",
cb9.getText(),":",label12.getText(),"\r\n",cb10.getText(),":",label13.getText()
};

for(int i=0;i<array.length;i++)
{
fw.write(array[i]);
}
fw.close();
JOptionPane.showMessageDialog(null,"保存成功");
dialog.dispose();
}catch(IOException ioe)
{
JOptionPane.showMessageDialog(null,"保存失败");
}
}else if(button==button4){
dialog.dispose();
}
}

}

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧