Hallo,
ich habe nun ne ganze weile im Forum gesucht, aber leider keine Lösung für mein Problem gefunden.
Ich habe ein jContentpane, das in einem Frame ist. auf diesem Jcontentpane liegt ein jScrollpane.
dort adde ich ein Panel mit
jScrollPane.setViewportView(getJPanel());
nun habe ich auf diesem Panel ein Button, der das panel aktualisieren soll. ich denke mir remove(), und dann wieder add() sollte mir helfen, aber leider tut es das nicht.
repaint() funktioniert ja nur bei AWT Komponenten.
anbei mein CODE, hoffe jemand kann mir helfen.
Bei Zeile 193 versuche ich mein glück :-(
ich habe nun ne ganze weile im Forum gesucht, aber leider keine Lösung für mein Problem gefunden.
Ich habe ein jContentpane, das in einem Frame ist. auf diesem Jcontentpane liegt ein jScrollpane.
dort adde ich ein Panel mit
jScrollPane.setViewportView(getJPanel());
nun habe ich auf diesem Panel ein Button, der das panel aktualisieren soll. ich denke mir remove(), und dann wieder add() sollte mir helfen, aber leider tut es das nicht.
repaint() funktioniert ja nur bei AWT Komponenten.
anbei mein CODE, hoffe jemand kann mir helfen.
Bei Zeile 193 versuche ich mein glück :-(
Code:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.JLabel;
public class start extends JFrame implements ActionListener {
Vector vec = new Vector();//Vektor linke Spalte
Vector vec1 = new Vector();//Vektor rechte spalte
static Vector new_vec = new Vector();//aktueller Vektor links
static Vector new_vec1 = new Vector();//aktueller Vektor rechts
JTextField textf;
String text;
JButton jButton = null;
JButton jButton1 = null;
JButton jButton2 = null;
htmlRead hr= new htmlRead();
private JPanel jContentPane = null;
JScrollPane jScrollPane = null;
JPanel jPanel = null;
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(Poperties.getString("vorlage"));
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(ClassNotFoundException cnfe) {}
catch(InstantiationException ie) {}
catch(IllegalAccessException iae) {}
catch(UnsupportedLookAndFeelException ulafe) {}
new start();
}
/**
* This is the default constructor
*/
public start() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(950, 500);
this.setContentPane(getJContentPane());
this.setTitle(" Link Creator"); //$NON-NLS-1$
this.setVisible(true);
this.setLocation(50,50);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0); // TODO Auto-generated Event stub windowClosing()
}
});
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jScrollPane = new JScrollPane();
jScrollPane.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);
jScrollPane.setViewportView(getJPanel());
jScrollPane.setSize(800,1200);
jScrollPane.setPreferredSize(new java.awt.Dimension(800,800));
jScrollPane.setName("TestPane"); //$NON-NLS-1$
jContentPane.add(jScrollPane);
}
return jContentPane;
}
private JPanel getJPanel() {
int y;
for (int i = 0;i<=htmlRead.vector.size();i++){
String tmp = null;
String tmp1 = null;
try {
tmp = htmlRead.vector.get(i).toString();
tmp1 = htmlRead.vector1.get(i).toString();
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (tmp != null){
vec.add(this.getJTextField(10,i+3,tmp,250));
vec1.add(this.getJTextField(300,i+3,tmp1,500));
}
}
System.out.println("y= " + vec.size()); //$NON-NLS-1$
jPanel = new JPanel();
jPanel.setLayout(null);
for (y=0; y<vec.size();y++){
jPanel.add((JTextField)vec.get(y), null);
jPanel.add((JTextField)vec1.get(y), null);
}
jPanel.setPreferredSize(new Dimension(jPanel.getWidth(), 100+y*20));
jPanel.add(this.getJLabel(10,1," Linkname",250)); //$NON-NLS-1$
jPanel.add(this.getJLabel(300,1," Link",500)); //$NON-NLS-1$
jPanel.add(this.getJButton(810,40,"New",100)); //$NON-NLS-1$
jPanel.add(this.getJButton1(810,70,"Load",100)); //$NON-NLS-1$
jPanel.add(this.getJButton2(810,100,"Save",100)); //$NON-NLS-1$
return jPanel;
}
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
public JTextField getJTextField(int vPos,int hPos, String text, int length) {
JTextField jTextField = null;
jTextField = new JTextField();
jTextField.setBounds(new java.awt.Rectangle(vPos,hPos*20,length,20));
jTextField.setText(text);
return jTextField;
}
public JLabel getJLabel (int vPos, int hPos, String text, int length){
JLabel jLabel=null;
jLabel = new JLabel();
jLabel.setVisible(true);
jLabel.setBounds(new java.awt.Rectangle(vPos,hPos*20,length,20));
jLabel.setText(text);
return jLabel;
}
private JButton getJButton(int vPos, int hPos, String text, int length) {
jButton = new JButton();
jButton.setBounds(new java.awt.Rectangle(vPos,hPos,length,25));
jButton.setText(text);
jButton.addActionListener(this);
return jButton;
}
private JButton getJButton1(int vPos, int hPos, String text, int length) {
jButton1 = new JButton();
jButton1.setBounds(new java.awt.Rectangle(vPos,hPos,length,25));
jButton1.setText(text);
jButton1.addActionListener(this);
return jButton1;
}
private JButton getJButton2(int vPos, int hPos, String text, int length) {
jButton2 = new JButton();
jButton2.setBounds(new java.awt.Rectangle(vPos,hPos,length,25));
jButton2.setText(text);
jButton2.addActionListener(this);
return jButton2;
}
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
if (obj == jButton){
//neues feld in vec
vec.add(this.getJTextField(10,11,"tut",20)); //$NON-NLS-1$
System.out.println(vec.size());
jScrollPane.remove(jPanel);
}
if (obj == jButton1){
}
if (obj == jButton2){
System.out.println("hp1");
// neu einlesen von den geänderten textfeldern
JTextField temp = null;
JTextField temp1 = null;
new_vec.setSize(0);
new_vec1.setSize(0);
for (int i =0;i<vec.size();i++){
temp=(JTextField)vec.get(i);
temp1=(JTextField)vec1.get(i);
new_vec.add(temp.getText().toString());
new_vec1.add(temp1.getText().toString());
}
System.out.println("hp2");
hr.replaceLinks();
System.out.println("hp3");
try {
new htmlWrite(Poperties.getString("zieldatei")).propertyWrite(); //$NON-NLS-1$
} catch (IOException ioe) {
// TODO Auto-generated catch block
ioe.printStackTrace();
}
}
}
} // @jve:decl-index=0:visual-constraint="10,1"