如何更改颜色选择器(JavaFX)的位置 我有一个颜色选择器,但它总是位于屏幕中间,我的问题是,如何设置颜色选择器的x和y坐标?
我已经尝试过重新定位和设置布局,但都不起作用:(如何更改颜色选择器(JavaFX)的位置 我有一个颜色选择器,但它总是位于屏幕中间,我的问题是,如何设置颜色选择器的x和y坐标?,java,canvas,javafx,Java,Canvas,Javafx,我已经尝试过重新定位和设置布局,但都不起作用:( 试一下。或者试着不要使用堆栈窗格,而是更适合您的需要。谢谢@James\u D我想这确实可以:) package gui; import display.Image; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javafx.application.Application; import j
试一下。或者试着不要使用
堆栈窗格,而是更适合您的需要。谢谢@James\u D我想这确实可以:)
package gui;
import display.Image;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Application;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.ColorPicker;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class JavaFXColorPicker extends Application {
private Image head;
private Image heart;
@Override
public void start(Stage primaryStage) throws IOException {
StackPane root = new StackPane();
Scene scene = new Scene(root, 300, 300, Color.BLACK);
final Canvas canvas = new Canvas(250,250);
GraphicsContext gc = canvas.getGraphicsContext2D();
ColorPicker HeadColor = new ColorPicker();
ColorPicker BodyColor = new ColorPicker();
ColorPicker LegColor = new ColorPicker();
HeadColor.setOnAction(new EventHandler(){
@Override
public void handle(Event event) {
Color HeadPaint = HeadColor.getValue();
Color[] HeadColorArray = new Color[]
{
new Color(0 , 0, 0, 1),
HeadPaint,
HeadPaint,
HeadPaint,
HeadPaint,
new Color(1, 1, 1, 1) // de ogen
};
try {
head = new display.Image(display.Parts.playerHead);
} catch (IOException ex) {
Logger.getLogger(JavaFXColorPicker.class.getName()).log(Level.SEVERE, null, ex);
}
head.recolour(HeadColorArray);
Image i = head;
gc.drawImage(i.show(), 30, 100);
}
});
head = new display.Image(display.Parts.playerHead);
Image i = head;
gc.drawImage(i.show(), 10, 100);
root.getChildren().add(canvas);
root.getChildren().add(HeadColor);
primaryStage.setTitle("Customize Character!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}