S
sdfsdbvj
Gast
Moin Moin,
ich bin relativ neu bei Java, vorher nur PHP und MySQL und auch mal Delphi probiert.
Ich lerne gerne durch probieren statt stundenlang Bücher zu lesen ohne was praktisches zu machen.
Meine ersten Schritte mache ich gerade indem ich ein TXT File einlese, momentan in ein Styled Text
Jetzt möchte ich aber das ganze gerne in eine Tabelle einlesen und da fangen die Probleme an.
Die Beispiele die ich gefunden habe öffnen immer ein neues Fenster mit der Tabelle maximiert, das möchte ich aber nicht, ich möchte die Tabelle im selben Fenster haben und an einer gewissen position und auch nicht über die gesamte Breite
mit
table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
ist die tabelle schon mal nicht mehr auf der gesamten breite, with und height haben keine auswirkungen was zumindest bei height ja zu erwarten war
hier mal der Code etwas gekürzt
dummgegoogelt habe ich mich schon und leider nichts gefunden.
wie gesagt ich brauch im moment erstmal nur die lösung die tabelle zu meinen buttons zu bekommen, also im selben fenster und die möglichkeit diese zu platzieren an einer gewissen stelle, den rest ergoogle ich mir dann wieder
so hier der code
ich bin relativ neu bei Java, vorher nur PHP und MySQL und auch mal Delphi probiert.
Ich lerne gerne durch probieren statt stundenlang Bücher zu lesen ohne was praktisches zu machen.
Meine ersten Schritte mache ich gerade indem ich ein TXT File einlese, momentan in ein Styled Text
Jetzt möchte ich aber das ganze gerne in eine Tabelle einlesen und da fangen die Probleme an.
Die Beispiele die ich gefunden habe öffnen immer ein neues Fenster mit der Tabelle maximiert, das möchte ich aber nicht, ich möchte die Tabelle im selben Fenster haben und an einer gewissen position und auch nicht über die gesamte Breite
mit
table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
ist die tabelle schon mal nicht mehr auf der gesamten breite, with und height haben keine auswirkungen was zumindest bei height ja zu erwarten war
hier mal der Code etwas gekürzt
dummgegoogelt habe ich mich schon und leider nichts gefunden.
wie gesagt ich brauch im moment erstmal nur die lösung die tabelle zu meinen buttons zu bekommen, also im selben fenster und die möglichkeit diese zu platzieren an einer gewissen stelle, den rest ergoogle ich mir dann wieder
so hier der code
Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;
public class TestKlasse {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Display display = new Display ();
Shell shell = new Shell (display);
FormLayout formLayout = new FormLayout ();
shell.setLayout (formLayout);
FormData data = new FormData ();
// auswählen
List toolbar1 = new List (shell, SWT.BORDER);
...
toolbar1.setLayoutData (data);
// Label auswählen
Label label1 = new Label (shell, SWT.NONE);
...
label1.setLayoutData (data);
// Button zu anzeigen
Button button1 = new Button (shell, SWT.PUSH);
...
button1.setLayoutData (data);
// Heute setzen
SimpleDateFormat sd = new SimpleDateFormat("yy.MM.dd");
System.out.println(sd.format(new Date()));
String Datum=sd.format(new Date());
StyledText group2 = new StyledText (shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
group2.setText ("");
data = new FormData ();
data.width = 600;
data.height = 300;
data.left = new FormAttachment (label1, 40, SWT.DEFAULT);
data.top = new FormAttachment (label1, 0, SWT.DEFAULT);
group2.setLayoutData (data);
FileReader fr = new FileReader("test.txt");
BufferedReader br = new BufferedReader(fr);
String zeile = "";
String cw = "";
String doy = "";
String wdoy = "";
String pdate = "";
String aos = "";
String los = "";
String sat = "";
// Farbe
// Color red = new Color(device, 255,0,0)
group2.setForeground(display.getSystemColor(SWT.COLOR_DARK_GREEN));
// Schrift
//myFont=new Font( "Times New Roman",Font.BOLD|Font.ITALIC,18 );
// group2.setFont(new Font("Arial", Font.PLAIN, 16));
while( (zeile = br.readLine()) != null )
{
System.out.println(zeile);
zeile = zeile.replaceAll("\\s\\s+"," ");
String schedule = zeile;
String[] splittArray = schedule.split(" ");
try
{
//ANWEISUNGSBLOCK
cw = splittArray[1];
doy = splittArray[2];
wdoy = splittArray[3];
pdate = splittArray[4];
aos = splittArray[5];
los = splittArray[6];
sat = splittArray[7];
}
catch (ArrayIndexOutOfBoundsException aiobEx) {
//ANWEISUNGSBLOCK
cw = "ausgelassen";
doy = "ausgelassen";
wdoy = "ausgelassen";
pdate = "ausgelassen";
aos = "ausgelassen";
los = "ausgelassen";
sat = "ausgelassen";
continue;
}
// führende Nullen hinzufügen
if (doy.length() < 2) doy = "0" + doy;
if (doy.length() < 3) doy = "0" + doy;
if (doy.length() > 3) continue;// brauchen wir nicht ^^
// nicht benötigte Zeilen auslassen
if (pdate.equals("=====")) continue;
if (doy.equals("DOW")) continue;
// Heute Test
if (pdate.equals(Datum)) {
}else{
continue;
}
...
br.close();
// Die Daten für das Table
String[][] data2 = new String[][]{
{"a", "b", "c", "d"},
{"e", "f", "g", "h"},
{"i", "j", "k", "l"}
};
// Die Column-Titles
String[] title = new String[]{
"A", "B", "C", "D"
};
// Das JTable initialisieren
JTable table = new JTable( data2, title );
table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
table.setLocation(5, 5);// hat keine Auswirkung
table.setSize(200, 300);// hat keine Auswirkung
// ScrollPane für den Table
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setLocation(5, 5);// hat keine Auswirkung
scrollPane.setSize(200, 300);// hat keine Auswirkung
scrollPane.setVisible( true );
// das wird in einem extra Fenster angezeigt
// wie bekomme ich die Tabelle in mein normales Fenster ?
JFrame frame = new JFrame( "Demo" );
frame.getContentPane().add( new JScrollPane( table ) );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.pack();
frame.setVisible( true );
shell.setSize(850, 500); // Fenstergröße
shell.setText("Form"); // Titel
//shell.pack (); // macht das Fenster kleiner
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
}
}