2011-01-21 10 views
8

मैं वर्तमान में अपना पहला एप्लेट कर रहा हूं। परिणामों का परीक्षण करते समय मैं हमेशा एप्पल को एक जार में तैनात करने और ब्राउज़र में पेज खोलने के बजाय पूर्वावलोकन विंडो में ग्रहण में चलाने में सक्षम होना चाहता हूं (ब्राउज़र कैश मुझे मारता है! मुझे हमेशा ब्राउज़र को पुनरारंभ करने की आवश्यकता होती है .. ।)ग्रहण में भी मेरे एप्लेट के आकार को बदलना "एप्लेट के रूप में चलाएं"

वैसे भी, जब मैं ऐप को "जैसे -> जावा एप्लेट" के साथ चलाने की कोशिश करता हूं तो मुझे पूर्वावलोकन मिला लेकिन यह हमेशा बहुत छोटा (200x200 से नीचे अनुमान लगाता है)। जब मैं प्रति हाथ आकार बदलता हूं, तो खिड़की बढ़ती है लेकिन सामग्री उस छोटी रहती है। जब मैं setSize(width, height) पर कॉल करता हूं तो विंडो बड़ी शुरू होती है, सामग्री छोटी रहती है। छोटे का मतलब यह नहीं है कि इसका आकार कम हो गया है, इसका मतलब है कि मुझे केवल काले पैनल दिखाई देता है, सफेद वाला (जो ब्राउज़र में दिखाई देता है) दिखाई नहीं दे रहा है, इसलिए इसे स्केल नहीं किया गया था ...

मैं क्या कर रहा हूं लापता?

मेरे कोड अब तक (जो 560 की चौड़ाई और 500 की ऊंचाई के साथ broswer में उम्मीद की तरह काम करता है)

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")); 
} 
} 

स्क्रीनशॉट समस्या को दिखाना चाहिए। दृश्य क्षेत्र छोटा सा रहता है खिड़की setSize() साथ 660x500 (सेट के आकार है: Java Applet

उत्तर

5

विंडो के अपने आकार 500,500 के लिए सेट है और इसलिए यह अपने ब्लैक बॉक्स की इस आकार सही पर पैनल करता है, तो दिख रहा है। आप अपनी स्क्रीन को चौड़ा।

topPanel के लिए एक आकार और एक मिनट, अधिकतम, और वांछित आकार की स्थापना। तब के बजाय BorderLayout.WEST में जोड़ने के लिए कोड निकाल दें, बजाय BorderLayout.CENTER का उपयोग करें। यह परीक्षण पैनल पर रहने के लिए अनुमति देगा बाएं और खिड़की का आकार बदलने के रूप में आपके काले बॉक्स का आकार बदल जाएगा।

+0

इस तरह से मैं अपना सही पैनल जानता हूं, क्योंकि लेआउट गतिशील है (whi सी बुरा नहीं है)। लेकिन पूर्वावलोकन का आकार लगभग 200x200 रहता है। मैं प्रश्न में एक स्क्रीनशॉट जोड़ूंगा ... – WarrenFaith

+4

मुझे कारण मिला: मैं रन कॉन्फ़िगरेशन में एप्लेट के आयाम में बदल सकता हूं। इसे मेरे आकार से 660x500 तक सेट करना। – WarrenFaith

संबंधित मुद्दे