Obecnie robię mój pierwszy aplet. Podczas testowania wyników chcę być w stanie uruchomić go w zaćmieniu w oknach podglądu, zamiast zawsze instalować aplet w słoiku i otwierać stronę w przeglądarce (pamięć podręczna przeglądarki zabija mnie!) Zawsze muszę ponownie uruchomić przeglądarkę. .)Zmiana rozmiaru dla mojego apletu także w zaćmieniu "uruchom jako aplet"
W każdym razie, gdy próbuję uruchomić aplikację z "uruchom jako -> aplet Javy" otrzymałem podgląd, ale zawsze jest bardzo mały (zgadnij poniżej 200x200). Kiedy zmieniam rozmiar na rękę, okno rośnie, ale zawartość pozostaje niewielka. Gdy zadzwonię pod numer setSize(width, height)
, okno zacznie się powiększać, a zawartość pozostanie mała. Mały nie oznacza, że jest skalowany, oznacza to, że widzę tylko czarny panel, biały (widoczny w przeglądarce) nie jest widoczny, więc nie wydaje się skalowany ...
Co ja mam brakujący?
Mój kod tak daleko (który działa jak oczekiwano w broswer o szerokości 560 i wysokości 500)
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Benchmark extends JApplet {
private static final long serialVersionUID = -8767182603875435760L;
GridLayout gridLayout = new GridLayout(7, 1);
JButton startTests = new JButton("Start");
JPanel testPanel = new JPanel();
JPanel topPanel = new JPanel();
@Override
public void init() {
super.init();
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
invalidate();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void initComponents() {
setSize(660, 500);
topPanel.setBackground(Color.BLACK);
topPanel.setSize(500, 500);
testPanel.setBackground(Color.WHITE);
testPanel.setSize(160, 500);
getContentPane().add(topPanel, BorderLayout.WEST);
getContentPane().add(testPanel, BorderLayout.EAST);
testPanel.setLayout(gridLayout);
testPanel.add(new JLabel("Triangles"));
testPanel.add(new JLabel("Pyramids"));
testPanel.add(new JLabel("Cubes"));
testPanel.add(new JLabel("Blending"));
testPanel.add(new JLabel("Spheres"));
testPanel.add(new JLabel("Lights"));
testPanel.add(new JLabel("Mass"));
}
}
zrzut ekranu powinien pojawić się problem. Jeśli okno ma rozmiar 660x500 (zestaw z setSize()
, widoczny obszar pozostaje mały:
w ten sposób widzę mój prawy panel, ponieważ układ jest dynamiczny (whi ch nie jest zły). Ale rozmiar podglądu wynosi około 200x200. Dodam zrzut ekranu do pytania ... – WarrenFaith
Znalazłem przyczynę: mogę zmienić w konfiguracji uruchamiania wymiar apletu. Ustawienie go na 660 x 500 odpowiada mojemu rozmiarowi. – WarrenFaith