ฉันกำลังพยายามสร้างฟังก์ชันการวาดภาพบางอย่าง ซึ่งคล้ายกับ MSPaint มาก ฉันต้องการสร้างเครื่องมือ TextBox
เพื่อให้ฉันสามารถวาดกล่องข้อความบนผืนผ้าใบของฉันและให้ผู้ใช้พิมพ์ลงในนั้นเหมือนกล่องข้อความจริง เมื่อผู้ใช้คลิกออกจากกล่องข้อความหรือกด Escape ฉันจะ "stroke"
ข้อความไปที่ GraphicsContext
ฉันไม่แน่ใจว่าต้องทำอย่างไร ความพยายามในปัจจุบันของฉันให้ฉันใช้ StackPane
เพื่อซ้อนผืนผ้าใบสองผืนทับกัน ฉันปล่อยให้ผู้ใช้ "draw"
ใช้เมาส์ในกล่องข้อความ จากนั้นฉันก็สร้างกล่องข้อความโดยทางโปรแกรมซึ่งฉันพยายามส่ง keyevents
เข้าไป จากนั้นเมื่อผู้ใช้คลิกปิด ฉันจะเขียน textbox.getText()
ไปที่ GraphicsContext
สิ่งนี้ยังไม่ประสบความสำเร็จมากนัก โดยเฉพาะอย่างยิ่ง ฉันไม่แน่ใจว่าจะจัดการคีย์พิเศษ เช่น BACKSPACE
และ DELETE
อย่างไร และให้ผู้ใช้คลิกเพื่อวางเคอร์เซอร์ได้อย่างไร
ฉันกำลังมองหาคำแนะนำเกี่ยวกับแนวทางที่ดีกว่า
Pane
และเพิ่มโหนด (Shape
คลาสย่อย,Text
สำหรับข้อความของคุณ ฯลฯ) อาจจะง่ายกว่า แต่แน่นอนว่าคุณอาจมีเหตุผลดีๆ อื่นๆ ในการใช้ผืนผ้าใบ - person James_D   schedule 19.03.2016snapshot
โหนดใดๆ เพื่อสร้างอิมเมจ JavaFX แปลง เป็นBufferedImage
และใช้ImageIO
เพื่อส่ง - person James_D   schedule 19.03.2016TextField
/TextArea
แล้วลบพื้นหลัง/เส้นขอบออก - person fabian   schedule 19.03.2016