Java klase

MarkoN90

New member
Joined
May 29, 2014
Messages
10
Reaction score
0
Napravio sam neki mini projekat,ali mi treba iz vise klasa dok sam ja sve pisao u jednoj,pokusao sam da ih razdvojim u vise klasa,ali mi tada projekat ne radi kako treba.AKo neko moze da mi pomogne kako da ih razdvojim na vise klasa.Evo moj kod:

public class Projektni extends JFrame {
public final JTextField ime = new JTextField(10);
public final JTextField prezime = new JTextField(10);
public final JTextField index = new JTextField(10);
public DefaultListModel podaci = new DefaultListModel();
public JList lista = new JList(podaci);

public Projektni()
{
JPanel panel=new JPanel (new GridLayout(6, 7));
panel.add(new JLabel(“Ime studenta:”));
panel.add(ime);
panel.add(new JLabel(“Prezime studenta:”));
panel.add(prezime);
panel.add(new JLabel(“Broj indeksa studenta:”));
panel.add(index);

String[] seminari = {“Microsoft”,“MAC”,“Java”};
final JComboBox cek = new JComboBox(seminari);
panel.add(cek);

JButton upisibtn=new JButton(“Upisi”);
upisibtn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
String s=ime.getText()+" “+prezime.getText()+” “+index.getText()+” “+cek.getSelectedItem()+”\n";
upisi(s);
}
});
JButton citajbtn=new JButton(“Prikazi”);
citajbtn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
for(String s:citaj())
podaci.addElement(s);

}
});

panel.add(upisibtn);
panel.add(citajbtn);
add(panel,BorderLayout.CENTER);
panel.add(lista);

}

public static void upisi(String s){
try{
// Create file
FileWriter fstream = new FileWriter(“out.txt”,true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(s);
//Close the output stream
out.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}}
public ArrayList citaj(){
ArrayList p=new ArrayList();

try{

FileReader fstream = new FileReader(“out.txt”);
BufferedReader out = new BufferedReader(fstream);
String line = out.readLine();

while (line != null) {
line = out.readLine();
p.add(line);
}
out.close();
return p;
}catch (Exception e){
System.err.println("Error: " + e.getMessage());
return p;
}
}
public static void main(String[] args) {
JFrame frame = new Projektni();


frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setTitle(“Seminari”);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);

}

}
 
Last edited:

timotije

Member
Joined
Feb 6, 2013
Messages
197
Reaction score
0
Pa baki koliko vidim ova prva klasa ne moze bas da se razdvaja zbog tih metodica koje pozivas u konstruktoru 🙂

Mozes main samo da razdvojiis u posebnu klasu

public class Main {
Code:
public static void main(String[] args) {

	JFrame frame = new Projektni();

	frame.setSize(500, 500);
	frame.setLocationRelativeTo(null);
	frame.setTitle("Seminari");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.pack();
	frame.setVisible(true);

}
}

I vid’ umetni JFame.EXIT_ON_CLOSE jer ga nemas u ovom kodu koji si prilozio 🙂 I postuj enkapsulaciju, ucini podatke privatnima 🙂
 
Last edited:

MarkoN90

New member
Joined
May 29, 2014
Messages
10
Reaction score
0
Da,zbog tih metoda ne moze da mi radi,ali da li mogu nekako da odvojim te metode u klasu neku,a da rade ? 😛
 
Last edited:

timotije

Member
Joined
Feb 6, 2013
Messages
197
Reaction score
0
Mozes da deklarises i ovu drugu metodu kao staticnu, i onda u konstruktoru da joj pristupis kao DrugaKlasa.upisi(s) i DrugaKlasa.citaj();
Code:
public class DrugaKlasa {
	
	public static void upisi(String s) {
		try {
			// Create file
			FileWriter fstream = new FileWriter("out.txt", true);
			BufferedWriter out = new BufferedWriter(fstream);
			out.write(s);
			// Close the output stream
			out.close();
		} catch (Exception e) {// Catch exception if any
			System.err.println("Error: " + e.getMessage());
		}
	}
	public static ArrayList citaj() {
		ArrayList p = new ArrayList();

		try {

			FileReader fstream = new FileReader("out.txt");
			BufferedReader out = new BufferedReader(fstream);
			String line = out.readLine();

			while (line != null) {
				line = out.readLine();
				p.add(line);
			}
			out.close();
			return p;
		} catch (Exception e) {
			System.err.println("Error: " + e.getMessage());
			return p;
		}
	}

}
 
Last edited:
Top