В настоящее время я делаю свой первый апплет. Во время тестирования результатов я хочу иметь возможность запускать его в eclipse в окнах предварительного просмотра вместо того, чтобы всегда развертывать апплет в банке и открывать страницу в браузере (кеш браузера меня убивает! Мне всегда нужно перезапускать браузер ... .)
В любом случае, когда я пытаюсь запустить приложение с помощью «запустить как -> Java-апплет», я получил предварительный просмотр, но он всегда очень маленький (предположим, ниже 200x200). Когда я изменяю размер для каждой руки, окно увеличивается, но содержимое остается таким маленьким. Когда я вызываю setSize (width, height)
, окно начинает больше, а содержимое остается маленьким. Маленький не означает, что он уменьшен в масштабе, это означает, что я вижу только черную панель, белая (которая видна в браузере) не видна, поэтому она не казалась масштабированной ...
Что мне не хватает ?
Мой код на данный момент (который работает так, как ожидалось в браузере с шириной 560 и высотой 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"));
}
}
На снимке экрана должна быть показана проблема. Если окно имеет размер 660x500 (установлено с помощью setSize ()
, видимая область остается небольшой: