Hallo Ik ben al een tijdje bezig om een tekstverwerker te bouwen. Eerst had het programma een Jsplitpane als Layout. Die heb ik inmiddels vervangen door een Borderlayout. Sindsdien werkt het programma niet meer na behoren. Als ik een bestand probeer te openen dan verdwijnt de soort van werkbalk en wordt het bestand niet geopent. Ik heb geprobeerd om de JTextArea te vergroten of te verkleinen en verder heb ik de methods readFile en WriteFile private gemaakt. Ik krijg overigens geen compiler errors. Hier is het te downloaden.*zip*
als je het zelf wil uitproberen.
Alvast Bedankt
keffie91
als je het zelf wil uitproberen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
| import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
public class tekstverwerker extends JFrame implements ActionListener{
JButton opslaan = new JButton("Opslaan");
JLabel bestand = new JLabel("Bestand:",JLabel.CENTER);
JPanel m = new JPanel();
JTextField file = new JTextField(20);
JLabel lettertype = new JLabel("Lettertype",JLabel.CENTER);
JTextArea edit = new JTextArea(50,50);
JScrollPane scroll = new JScrollPane(edit);
JButton exit = new JButton("Exit");
JComboBox LookAndFeel = new JComboBox();
JComboBox font = new JComboBox();
public tekstverwerker(){
setUndecorated(false);
Container c = getContentPane();
c.add(m,BorderLayout.NORTH);
c.add(scroll,BorderLayout.SOUTH);
c.add(m);c.add(scroll);
m.add(bestand);m.add(file);
m.add(opslaan);m.add(LookAndFeel);
m.add(exit);
// JComboBox addItem
LookAndFeel.addItem("Metal");
LookAndFeel.addItem("System");
LookAndFeel.addItem("Motif");
font.addItem("Times New Roman");
font.addItem("SansSerif");
font.addItem("Serif");
//add ActionListener
file.addActionListener(this);
opslaan.addActionListener(this);
exit.addActionListener(this);
LookAndFeel.addActionListener(this);
font.addActionListener(this);
setSize(700,700);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == file)
readFile(file.getText());
else if(e.getSource() == opslaan)
saveFile(file.getText());
else if(e.getSource() == exit)
System.exit(0);
if(e.getSource() == font){
if(font.getSelectedIndex() == 0)
edit.setFont(new Font("TimesRoman", Font.PLAIN, 12));
if(font.getSelectedIndex() == 1)
edit.setFont(new Font("SansSerif",Font.PLAIN, 12));
if(font.getSelectedIndex() == 2);
edit.setFont(new Font("Serif",Font.PLAIN, 12));
}
if(e.getSource() == LookAndFeel){
String name = "";
if(LookAndFeel.getSelectedIndex() == 1)
name = UIManager.getSystemLookAndFeelClassName();
else if(LookAndFeel.getSelectedIndex() == 0)
name = "javax.swing.plaf.metal.MetalLookAndFeel";
else if(LookAndFeel.getSelectedIndex() == 2)
name = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
try {
UIManager.setLookAndFeel(name);
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception ex) {}
}
}
private void readFile(String filename){
try{
FileReader r = new FileReader(filename);
edit.read(r, null);
}
catch (IOException e){
}
}
private void saveFile(String filename){
try{
FileWriter w = new FileWriter(filename);
edit.write(w);
}
catch (IOException e) {}
}
public static void main(String[]args){
tekstverwerker t = new tekstverwerker();
}
} |
Alvast Bedankt
keffie91
[ Voor 0% gewijzigd door Creepy op 25-05-2008 22:07 ]