24855
Jan 19, 2007, updated at 14:48:46 (UTC)
5577
5
0
zu einem Frame einen Scrollbar hinzufügen, falls er aus dem Bild ragt
Dynamische GUI darf nicht größer als das Bild werden
Hallo Leutz,
ich hab hier mein Quellcode für eine kleines Gui-Tool gepostet, welche es erlaubt aus einer variablen Anzahl von Ordnern Checkboxen zu erzeugen, welche später Quasi ein BackboneSkript für einzelne Silentskripte erzeugt.
Mein Problem ist immer noch, das mein Programmfenster größer werden kann, als die Desktopauflösung...
Traumhaft währe ein Vorschlag, besser ein paar zeilen code, wie es möglich ist dem Frame einen seitlichen Scrollbar zu verpassen um Quasi im Programmfenster scorllen zu können. Dann könnte man unzählige Checkboxen erzeugen und trotzdem das Layout auf eine Spalte reduzieren, was alles übersichtlicher machen würde.
Hat jemand ne Idee?
JANOSCH
ich hab hier mein Quellcode für eine kleines Gui-Tool gepostet, welche es erlaubt aus einer variablen Anzahl von Ordnern Checkboxen zu erzeugen, welche später Quasi ein BackboneSkript für einzelne Silentskripte erzeugt.
Mein Problem ist immer noch, das mein Programmfenster größer werden kann, als die Desktopauflösung...
Traumhaft währe ein Vorschlag, besser ein paar zeilen code, wie es möglich ist dem Frame einen seitlichen Scrollbar zu verpassen um Quasi im Programmfenster scorllen zu können. Dann könnte man unzählige Checkboxen erzeugen und trotzdem das Layout auf eine Spalte reduzieren, was alles übersichtlicher machen würde.
Hat jemand ne Idee?
JANOSCH
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.io.*;
import java.util.*;
public class main extends Frame {
Button b;
TextField Tf;
Checkbox CBArray;
String PfadS,PfadD, Filename;
String entries;
int laenge;
TextArea ausgabe;
String mac;
Font schrift = new Font("arial", Font.PLAIN, 9);
public main(){
PfadD = "C:\\file\\skripte";
PfadS = "C:\\file\\daten";
Frame f = new Frame();
f.addWindowListener( new MyWindowAdapter() );
f.setFont(schrift);
f.setVisible(true);
f.setTitle("LUMIT_InstallSkript_Konfigurationsmanager_JanikCh");
Panel p = new Panel();
f.setBackground(Color.BLUE);
f.setForeground(Color.WHITE);
Panel p1 = new Panel();
Panel pausg = new Panel();
f.setLayout(new BorderLayout());
f.add("North",p);
f.add("Center",p1);
f.add("South",pausg);
p.setLayout(new GridLayout(28,3));
//p.setLayout(new FlowLayout(FlowLayout.LEFT));
p1.setForeground(Color.black);
pausg.setForeground(Color.BLACK);
Label l = new Label("Skript speichern unter Name:");
Tf = new TextField(20);
Panel pb= new Panel();
pb.setLayout(new FlowLayout(FlowLayout.LEFT));
pb.add(l);
pb.add(Tf);
l.setForeground(Color.WHITE);
p1.add(pb);
//++++++++++++++++++++++ Auslesen Ordnerstruktur
entries = new File( "C:\\file\\daten" ).list();
laenge = entries.length;
// +++++++++++++++++++++ Erzeugen dynamische GUI
CBArray = new Checkbox[80];
for(int i=1;i<=laenge;i++)
{
CBArray[i-1] = new Checkbox(entries[i-1],false);
p.add(CBArray[i-1]);
if(entries[i-1].contains("1_UTIL")){CBArray[i-1].setState(true);}
if(entries[i-1].contains("STANDARD")){CBArray[i-1].setState(true);}
}
b = new Button("Skript erzeugen");
b.addActionListener(new ButtonListener());
pb.add(b);
ausgabe = new TextArea("Bitte die Auswahl treffen durch anhaken,\r\nden Dateinamen ohne Endung angeben und den Button klicken!\r\nBestehende Skripte mit gleichem Namen werden überschrieben!\r\n\r\nEs wird durch das Skript immer ein Ordner \"C:\\Wartung\" auf dem Zielsystem angelegt!",5,60,1);
pausg.add(ausgabe);
f.pack();
}
class ButtonListener implements ActionListener {
public void actionPerformed( ActionEvent e ){
// +++++++++++++++++++++ Lesen Zieldateiname
Filename = Tf.getText().toString();
System.out.println(Filename);
String Pfad = PfadD+"\\"+Filename+".cmd";
//++++++++++++++++++++++ Abfangen leerer Dateiname
if (Filename.equals(""))
{
ausgabe.setText("Kein Dateiname für die Skriptdatei angegeben!!\r\nBitte Namen ohne Endung angeben und erneut klicken!\r\n");
}
//+++++++++++++++++++++ Schreiben Standard Skriptinhalte
else
{
try{
File f = new File(Pfad);
FileWriter fw = new FileWriter (f);
PrintWriter pw = new PrintWriter(fw);
pw.println("@echo on");
pw.println("::Beginne mit Softwarestapelinstallation");
pw.println("cd..");
pw.println("pushd c:");
pw.println("cd\\");
pw.println("MD Wartung");
pw.println("popd");
pw.println("copy setx.exe c:\\wartung");
pw.println("cd daten");
//++++++++++++++++++++++ Schreiben dynamische Skriptinhalte
for(int i=1;i<=laenge;i++)
{
if((CBArray[i-1].getState())==true){
pw.println("Echo installiere " + entries[i-1]);
pw.println(" echo.");
pw.println(" cd \"" + entries[i-1]+"\"");
pw.println(" call \"" + entries[i-1]+ ".cmd\" /wait");
pw.println(" cd..");
pw.println("echo.");
pw.println("echo.");
pw.println("");
pw.println("");
//hier pfad
}
}
pw.flush();
pw.close();
}catch(IOException ioe1){ausgabe.setText("Fehler beim Schreiben des Skriptfiles, ueberpruefen ob Pfade vorhanden und Rechte gesetzt!\r\n");}
Tf.setText("");
ausgabe.setText("Skriptfile erzeugt\r\n");
ausgabe.append("Skriptfile gespeichert unter "+PfadS+"\\"+Filename+".cmd");
}
}
}
class MyWindowAdapter extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
/**
* @param args
*/
public static void main(String args) {
// TODO Auto-generated method stub
main a = new main();
}
}
Please also mark the comments that contributed to the solution of the article
Content-Key: 47495
Url: https://administrator.de/contentid/47495
Printed on: April 20, 2024 at 01:04 o'clock
5 Comments
Latest comment
Moinsen..
um einem frame einen scrollbar zu verpassen, seis vertikal oder horizontal schreibst du in deinem Frameset wo du ihn aufrufst einfach scrolling=auto dann werdens automatisch erzeugt oder schreibst scrolling=yes dann sind die balken immer da egal ob se gebraucht werden oder nichens...
<frameset framespacing="0" border="0" rows="50,*" frameborder="0">
<frame name="kopf" src="" scrolling="no" noresize>
<frame name="haupt" src="" scrolling="auto" noresize>
<noframes>
<body>
<p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterstützt.</p>
</body>
</noframes>
</frameset>
hope it helped
best wishes
chris
um einem frame einen scrollbar zu verpassen, seis vertikal oder horizontal schreibst du in deinem Frameset wo du ihn aufrufst einfach scrolling=auto dann werdens automatisch erzeugt oder schreibst scrolling=yes dann sind die balken immer da egal ob se gebraucht werden oder nichens...
<frameset framespacing="0" border="0" rows="50,*" frameborder="0">
<frame name="kopf" src="" scrolling="no" noresize>
<frame name="haupt" src="" scrolling="auto" noresize>
<noframes>
<body>
<p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterstützt.</p>
</body>
</noframes>
</frameset>
hope it helped
best wishes
chris
hej sorry, mein fehler.. hab net wirklich den code gelesen.. dacht mal eben schnell geantwortet und dann ab dafür.. naja was dabei raus komm siehst ja.. sorry noch mal.. bei java kann ich dir mal sowas von garnet mehr helfen ist schon so lang her das ich mal überhaupt was darin machen "durfte"
gruss
chris
gruss
chris