2010-11-19 17 views
1

J'ai lu que vous pouvez redimensionner (et transformer en général) un composant de swing enveloppé qui peut être obtenu avec SwingComponent.wrap (myComponent). Je ne vois pas comment. Je vois que le type retourné hérite redimensionnable, mais comment puis-je définir min/maxHeight, h/vfill et d'autres propriétés?redimensionnement d'un composant de swing enveloppé dans javafx

Répondre

0

Ce n'est pas la meilleure solution, mais cela fonctionne. Ci-dessous un exemple de code:


// Define the swing component, wrapper, and the scene. 
var jPanel = new JPanel(); 
var swingWrapper = new SwingComponent.wrap(jPanel); 
var scene = Scene{ 
    width: 700 
    height: 500 
    content: [ 
      swingWrapper 
    ] 
} 

// Below are some triggers that fire off whenever the width or 
// height of the scene change. 
var currentWidth = bind scene.width on replace{ 
    jPanel.setPreferredSize(new Dimension(scene.width, 
     scene.height)); 
    swingWrapper.width = scene.width; 
} 

var currentHeight = bind scene.height on replace{ 
    jPanel.setPreferredSize(new Dimension(scene.width, 
     scene.height)); 
    swingWrapper.height = scene.height; 
} 


Stage { 
    title: "Some App" 
    scene: scene 
} 

0

Voici un exemple de la façon dont vous pouvez définir les propriétés dont vous avez besoin:


def swingComponent : SwingComponent = SwingComponent.wrap(new JPanel()); 

function setSwingComponentLayoutInfo():Void{ 
    swingComponent.layoutInfo = LayoutInfo{ 
     height: 200 
     width: 200 
     maxHeight: 400 
     maxWidth: 400 
     // ... other properties. 
    } 
} 

setSwingComponentLayoutInfo(); 

espoir qui aide.